Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/ptechamanja/cve-2026-29000-pac4j-jwt-auth-bypass
SchwachstellenanalyseExploitationWebsicherheitCTFPenetrationstestsAuthentifizierung
GitHubptechamanja/cve-2026-29000-pac4j-jwt-auth-bypass

CVE-2026-29000-pac4j-jwt-auth-bypass

Proof-of-Concept (PoC) für eine Authentifizierungs-Bypass-Schwachstelle, die Anwendungen betrifft, die pac4j-jwt mit JWE (JSON Web Encryption) verwenden.

Repository anzeigen
17vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

HTB Principal — CVE-2026-29000 Writeup

Haftungsausschluss: Dieser Exploit wurde ausschließlich für die zurückgezogene HackTheBox-Maschine „Principal" entwickelt. Nur für Bildungszwecke. Nicht gegen Systeme verwenden, die dir nicht gehören oder für die du keine ausdrückliche Testgenehmigung hast.

Maschineninfo

FeldDetails
NamePrincipal
PlattformHackTheBox
Schwierigkeit—
StatusZurückgezogen

Schwachstelle — CVE-2026-29000

Betroffene Bibliothek: pac4j-jwt < 4.5.9 / 5.7.9 / 6.3.3
Schweregrad: Kritisch
Typ: Authentifizierungsumgehung

Zusammenfassung

Ein Logikfehler in JwtAuthenticator ermöglicht es einem Angreifer, die Authentifizierung zu umgehen, indem ein unsignierter PlainJWT (alg=none) in ein JWE (verschlüsseltes JWT) verpackt wird.

Wenn der Server das JWE entschlüsselt, versucht er, das innere Token als SignedJWT zu parsen. Da das innere Token ein PlainJWT ist, ist das SignedJWT-Objekt null und die Signaturprüfung wird vollständig übersprungen. Der Server erstellt dann ein Benutzerprofil aus den unverifizierten Claims – was eine vollständige Identitätsübernahme jedes Benutzers, einschließlich Administratoren, ermöglicht.

Angriffsvoraussetzungen

  • Der RSA-öffentliche Schlüssel des Servers (häufig über den JWKS-Endpunkt verfügbar)
  • Kenntnis der internen Claim-Namen (z. B. Rollen, Subjektformat)

Exploit-Ablauf

root@kitploit:~
Bösartige Claims erstellen (sub=admin, role=ROLE_ADMIN)
        ↓
Unsignierten PlainJWT erstellen (alg=none)
        ↓
PlainJWT mit dem RSA-öffentlichen Schlüssel des Servers in JWE verpacken
        ↓
JWE-Token an den Server senden
        ↓
Server entschlüsselt JWE → findet PlainJWT → überspringt Signaturprüfung → gewährt Zugriff

Exploit

Siehe exploit.py


Fix

pac4j-jwt auf eine gepatchte Version aktualisieren:

  • 4.5.9 oder neuer
  • 5.7.9 oder neuer
  • 6.3.3 oder neuer

Oder PlainJWT-innere Token nach der JWE-Entschlüsselung explizit ablehnen:

root@kitploit:~
if (jwt instanceof PlainJWT) {
    throw new CredentialsException("PlainJWT not allowed inside JWE");
}

⚙️ Angriffsablauf

  1. Öffentlichen Schlüssel abrufen von:
root@kitploit:~

/api/auth/jwks

  1. Bösartiges JWT erstellen:
  • alg: none
  • Admin-Rolle injizieren
  1. Mit dem öffentlichen Schlüssel in JWE verpacken

  2. Senden als:

root@kitploit:~

Authorization: Bearer <token>

  1. Unautorisierten Zugriff erlangen

🛠️ PoC-Verwendung

Abhängigkeiten installieren

root@kitploit:~
pip install jwcrypto requests

Exploit ausführen

root@kitploit:~
python3 poc.py \
--jwks-url http://target/api/auth/jwks \
--target http://target/api/dashboard

📤 Beispielausgabe

root@kitploit:~
[+] Forged Token:
eyJhbGciOiJSU0EtT0FFUC0yNTYi...

[+] Browser Injection:
sessionStorage.setItem("auth_token", "eyJhbGciOiJSU0EtT0FFUC0yNTYi...")

[+] Status: 200
{"user":{"username":"admin","role":"ROLE_ADMIN"}}

🌐 Browser-Ausnutzung

DevTools → Konsole öffnen:

root@kitploit:~
sessionStorage.setItem("auth_token", "<PASTE_TOKEN_HERE>")

Dann navigieren zu:

root@kitploit:~
/dashboard

🔥 Auswirkungen

  • Vollständige Authentifizierungsumgehung
  • Privilegienerweiterung auf Admin
  • Unautorisierter API-Zugriff
  • Potenzielle laterale Bewegung

🛡️ Gegenmaßnahmen

  • JWT-Signaturen (JWS) nach der Entschlüsselung immer verifizieren
  • Token mit alg: none ablehnen
  • Strenge Token-Validierungsrichtlinien durchsetzen
  • Sich nicht allein auf Verschlüsselung für Vertrauen verlassen

👤 Autor

  • Doomsknight

Referenzen

  • pac4j-Sicherheitshinweis
  • HackTheBox
Tool herunterladen