
Automatisieren Sie JWT Exploit (CVE-2018-0114)
Ich habe dieses Tool zu Lernzwecken und zur Automatisierung des JWT-Token-Hijackings erstellt, ohne auf BurpSuite angewiesen zu sein. Der Code ist gut dokumentiert und leicht nachvollziehbar. Basierend auf (CVE-2018-0114) Die Sicherheitslücke entsteht, weil der Server im Backend das im JWT-Header eingebettete JWK-Objekt überprüft. Es enthält n und e, zwei Parameter, die zur Bildung des öffentlichen Schlüssels verwendet werden.
1) Ein Angreifer generiert neue RSA-Schlüsselpaare,
2) Ermittelt n und e und injiziert sie in das JWK-Objekt in den JWT-Headern
3) Ändert beliebige Werte im JWT-Body-Teil und signiert ihn dann mit seinem privaten Schlüssel
4) Der Server verwendet den öffentlichen Schlüssel des Angreifers, um die Signatur zu überprüfen.
5) Ich habe eine Verify-Funktion erstellt, um sicherzustellen, dass der JWT erfolgreich ausgenutzt wurde, indem versucht wird, ihn mit dem öffentlichen Schlüssel des Angreifers (n und e) zu entschlüsseln.
1) Überschreibe den Wert der Variable "jwt_orginal at line 125" mit dem neuen verwundbaren JWT
2) Füge beliebige Attribute, die du ändern möchtest, im Dictionary-Objekt "dict_values at line 126" hinzu
3) Viel Spaß