SEC_015_NO_PII_OR_AUTH_STATE_IN_URLS: Keine PII oder Auth-Zustaende in URLs
Severity: must. Bereich: security.
Regel
Personenbezogene oder authentifizierende Werte wie Email, Magic Code, Session-ID, Reset-Token, Telefonnummer oder interne Account-Identifier DUERFEN nicht in Query-Strings, Redirect-Location-URLs, URL-Fragmenten oder kanonischen Links transportiert werden. Transienter Login- oder Reauth-State MUSS serverseitig gespeichert und ueber ein zufaelliges opakes Cookie-Token mit Secure, HttpOnly, SameSite und kurzer TTL referenziert werden. Falls ausnahmsweise Daten direkt im Cookie stehen, muessen sie verschluesselt und authentifiziert sein; HMAC-only schuetzt nur Integritaet, nicht Vertraulichkeit.
Reflection-Check
check:
reflect:
fields:
- sensitive_fields
- appears_in_query_string
- appears_in_redirect_location
- appears_in_referer
- appears_in_access_log
- server_side_state
- opaque_cookie_token
- ttl_seconds
- clear_on_success
object: transient_sensitive_stateEvidence
- OWASP_SESSION, OWASP Session Management Cheat Sheet
- OWASP_LOGGING, OWASP Logging Cheat Sheet
- MDN_REFERRER_POLICY, Referrer policy configuration