Pfad-Validierung

8 Tests demonstrieren, wie Signando REST URL-Pfade gegen die OpenAPI-Spezifikation validiert und Path-Traversal-Angriffe blockiert.

OpenAPI-Konfiguration

Pfade werden in Ihrer OpenAPI-Spezifikation definiert. Nur diese Pfade sind erlaubt:

# openapi.yaml
paths:
  /users:
    get:
      summary: "Alle Benutzer auflisten"
  /users/{id}:
    get:
      parameters:
        - name: id
          schema:
            type: string
            format: uuid
PATH-001PASS

GET /users - Gültiger statischer Pfad

Beispielanfrage

curl -X GET -H "X-API-Key: valid-key-123" http://localhost:8080/users

Der Pfad /users ist in der OpenAPI-Spezifikation definiert. Signando REST validiert, dass der Pfad einem definierten Endpoint entspricht.

PATH-003BLOCKIERT

GET /admin - Pfad nicht in Allowlist

Beispielanfrage

curl -X GET -H "X-API-Key: valid-key-123" http://localhost:8080/admin

Erwartete Antwort

{"error": "Pfad nicht in API-Spezifikation gefunden"}

Signando REST arbeitet nach dem Allowlist-Prinzip: Nur Pfade, die explizit in der OpenAPI-Spezifikation definiert sind, werden erlaubt.

PATH-004BLOCKIERT

GET /../etc/passwd - Path-Traversal-Angriff

Angriffsversuch

curl -X GET http://localhost:8080/../etc/passwd

Path-Traversal-Versuche mit ../-Sequenzen werden erkannt und blockiert, bevor sie das Backend erreichen.