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
jwt-key-id-injector — Einfaches Python-Skript zur Überprüfung auf hypothetische JWT-Sicherheitslücke. | Kitploit
Tools/GitHubGitHub/dariusztytko/jwt-key-id-injector
Payload-GenerierungSchwachstellenanalyseWebsicherheitPenetrationstests
GitHubdariusztytko/jwt-key-id-injector

jwt-key-id-injector

Einfaches Python-Skript zur Überprüfung auf hypothetische JWT-Sicherheitslücke.

Repository anzeigen
519vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

JWT Key ID Injector

Einfaches Python-Skript zur Überprüfung auf eine hypothetische JWT-Schwachstelle.

Angenommen, es gibt eine Anwendung, die JWT-Tokens verwendet, die mit dem HS256-Algorithmus signiert sind. Ein Beispiel-Token sieht wie folgt aus:

root@kitploit:~
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.zbgd5BNF1cqQ_prCEqIvBTjSxMS8bDLnJAE_wE-0Cxg

Das obige Token kann zu den folgenden Daten decodiert werden:

root@kitploit:~
{
  "alg": "HS256",
  "typ": "JWT"
}
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Zur Berechnung der Signatur wird der folgende geheime Schlüssel verwendet:

root@kitploit:~
supersecret

Der folgende Pseudocode wird zur Berechnung der Signatur verwendet:

root@kitploit:~
$alg = "sha256";
$data = "...";
$key = "supersecret";

hmac($alg, $data, $key);

Was passiert jedoch, wenn ein unerwartetes "kid":0-Feld in den Header eingefügt wird?

root@kitploit:~
{
  "alg": "HS256",
  "typ": "JWT",
  "kid": 0
}
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Das kid-Feld ist eine standardmäßige Möglichkeit, einen Schlüssel auszuwählen. Meine Annahme ist, dass es, wenn das kid-Feld nicht erwartet wird, eine anfällige Implementierung geben könnte, die den String-Wert $key als Array behandelt:

root@kitploit:~
hmac($alg, $data, $key[kid]);

Infolgedessen wird der Wert "s" ($key[0]) als HMAC-Geheimnis verwendet.

Verwendung

Das Skript injector.py nimmt das ursprüngliche JWT-Token, fügt das "kid":0-Feld in den Header ein und generiert Tokens, die mit den Ein-Buchstaben-Geheimnissen signiert sind (ASCII-Codes: 32 - 126 [{space}, !, ", #, ..., x, y, z, {, |, }, ~]):

root@kitploit:~
python3 injector.py eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.zbgd5BNF1cqQ_prCEqIvBTjSxMS8bDLnJAE_wE-0Cxg

Als Ergebnis werden zwei Dateien erstellt – tokens.txt und tokens_meta.txt. tokens.txt enthält die generierten Tokens und kann als Liste von Payloads für den Burp Intruder verwendet werden. Falls ein Token gültig ist (was bedeutet, dass die Anwendung anfällig ist), kann die Datei tokens_meta.txt verwendet werden, um zu überprüfen, welcher Algorithmus und welcher geheime Schlüssel zur Generierung des jeweiligen Tokens verwendet wurden. Die Datei tokens_meta.txt enthält die folgenden Daten:

root@kitploit:~
token1:algorithmus:geheimnis
...
token{n}:algorithmus:geheimnis

Änderungen

Siehe CHANGELOG

Tool herunterladen