Einleitung
OAuth 2.0 ist der De-facto-Standard für die Autorisierung in modernen Webanwendungen. Trotzdem finden wir bei Sicherheitsbewertungen regelmäßig Fehlkonfigurationen, die schwerwiegende Auswirkungen haben können.
Die häufigsten Fehler
1. Fehlende oder unzureichende Redirect-URI-Validierung
Viele Implementierungen validieren Redirect-URIs nur unzureichend. Ein offenes Redirect ermöglicht es Angreifern, Authorization Codes abzufangen.
2. Verwendung des Implicit Flow
Der Implicit Flow übergibt Tokens direkt in der URL. Dies macht sie anfällig für:
- Browser-History-Leaks
- Referrer-Header-Leaks
- Shoulder-Surfing-Angriffe
3. Fehlende PKCE-Implementierung
Proof Key for Code Exchange (PKCE) schützt vor Authorization-Code-Interception. Ohne PKCE sind mobile und Single-Page-Anwendungen besonders verwundbar.
Empfehlungen
- Strikte Redirect-URI-Validierung mit exaktem String-Matching
- Migration vom Implicit Flow zum Authorization Code Flow mit PKCE
- Regelmäßige Überprüfung der Token-Lebensdauern
- Implementierung von Token-Binding wo möglich