Attacker Impakt
Ongerecht JWT Validatioun erlaabt Ugräifer Authentifikatiounsmechanismen ëmzegoen andeems se Fuerderungen ofginn oder ofgelaf Tokens [S1] weiderbenotzen. Wann e Server Token ouni valabel Ënnerschrëft akzeptéiert, kann en Ugräifer d'Notzlaascht änneren fir Privilegien z'eskaléieren oder all Benotzer [S1] z'impersonéieren. Ausserdeem, net d'Verfall (exp) Fuerderung ëmzesetzen erlaabt en Ugräifer e kompromittéierten Token onbestëmmt [S1] ze benotzen.
Root Ursaach
E JSON Web Token (JWT) ass eng JSON-baséiert Struktur déi benotzt gëtt fir Fuerderungen ze representéieren déi digital ënnerschriwwen oder Integritéit geschützt sinn [S1]. Sécherheetsfehler stamen typesch aus zwee primären Implementéierungslücken:
- Akzeptanz vun Unsecured JWTs : Wann e Service net strikt Ënnerschrëft Verifizéierung erzwéngen, kann et Prozess "Unsecured JWTs" wou d'Ënnerschrëft fehlt an den Algorithmus op "keen" gesat [S1]. An dësem Szenario vertraut de Server d'Fuerderungen an der Notzlaascht ouni hir Integritéit zXCVFIXVIBETOKEN1ZXCV z'iwwerpréiwen.
- Vermësste Fuerderung Validatioun : D'
exp(Verfallszäit) Fuerderung identifizéiert d'Zäit op oder no deem d'JWT net fir d'Veraarbechtung [S1] akzeptéiert ginn. D'aud(Publikum) Fuerderung identifizéiert déi virgesinn Empfänger vum Token [S1]. Wann dës net iwwerpréift sinn, kann de Server Tokens akzeptéieren déi ofgelaaf sinn oder fir eng aner Applikatioun geduecht waren [S1].
Beton Fixes
- Kryptografesch Ënnerschrëften erzwéngen : Configuréiert d'Applikatioun fir all JWT ze refuséieren, deen net e pre-guttgeheescht, staark Ënnerschrëft Algorithmus benotzt (wéi RS256).
- Verfall validéieren : Ëmsetzen eng obligatoresch Scheck fir sécherzestellen datt den aktuellen Datum an Zäit virun der Zäit an der
expFuerderung [S1] spezifizéiert sinn. - Audienz z'iwwerpréiwen : Vergewëssert Iech datt d'
audFuerderung e Wäert enthält deen de lokale Service identifizéiert; wann de Service net an deraudFuerderung identifizéiert ass, muss den Token [S1] verworf ginn. - Replay verhënneren : Benotzt d'
jti(JWT ID) Fuerderung fir all Token eng eenzegaarteg Identifizéierer ze ginn, wat de Server erlaabt ze verfollegen a refuséiert weiderbenotzt Token [S1].
Detektiounsstrategie
Schwachstelle bei JWT Handhabung kënnen identifizéiert ginn andeems d'Tokenstruktur an d'Serverreaktiounsverhalen analyséiert ginn:
- Header Inspektioun : Iwwerpréift den
alg(Algorithmus) Header fir sécherzestellen datt et net op "keen" gesat gëtt a benotzt erwaart Kryptografesch Standarden [S1]. - Claim Verification: Bestätegt d'Präsenz an d'Validitéit vun den
exp(Verfall) anaud(Publikum) Fuerderungen bannent der JSON Notzlaascht [S1]. - Validatiounstest: Testen ob de Server richteg Tokens refuséiert déi no der
expFuerderung ofgelaaf sinn oder fir en anere Publikum geduecht sinn wéi definéiert vun deraudFuerderung [S1].
