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
cookiemonster — Dekodiert und entfernt die Signatur von anfälligen Sitzungscookies aus Django, Flask, Laravel, Express und JWT-Frameworks. Unterstützt HMAC-basierte Decoder, Base64-Wortlisten und Automatisierungspipelines für schnelle Schwachstellenerkennung. | Kitploit
Tools/GitHubGitHub/iangcarroll/cookiemonster
SchwachstellenanalyseWebsicherheitKryptographiePenetrationstests
GitHubiangcarroll/cookiemonster

cookiemonster

Dekodiert und entfernt die Signatur von anfälligen Sitzungscookies aus Django, Flask, Laravel, Express und JWT-Frameworks. Unterstützt HMAC-basierte Decoder, Base64-Wortlisten und Automatisierungspipelines für schnelle Schwachstellenerkennung.

Repository anzeigen
98275vor 1 JahrVon 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
Webseite

🍪 CookieMonster

CookieMonster ist ein Kommandozeilen-Tool und eine API zum Dekodieren und Modifizieren von unsicheren Session-Cookies aus verschiedenen Frameworks. Es ist für den Einsatz in Automatisierungs-Pipelines konzipiert, die eine große Anzahl dieser Cookies effizient verarbeiten müssen, um schnell Schwachstellen zu finden. Darüber hinaus ist CookieMonster erweiterbar und kann einfach neue Cookie-Formate unterstützen.

Es ist wichtig zu betonen, dass CookieMonster Schwachstellen in den Nutzern der Frameworks findet, normalerweise nicht in den Frameworks selbst. Diese Nutzer können die von CookieMonster gefundenen Schwachstellen beheben, indem sie das Framework so konfigurieren, dass es einen sicheren geheimen Schlüssel verwendet.

Funktionen

  • Dekodiert und entschlüsselt Session-Cookies von Laravel, Django, Flask, Rack und Express und verarbeitet auch rohe JWTs.
  • Bewertet Cookies schnell; ignoriert ungültige und nicht unterstützte Cookies und testet die, die es kann, zügig.
  • Nutzt die schnellen, nativen Implementierungen von Go für Hash-Funktionen voll aus.
  • Dekodiert intelligent URL-kodierte und Base64-kodierte Cookies (z.B. das Base64 eines JWT), wenn die anfängliche Dekodierung fehlschlägt.
  • Unterstützt viele Algorithmen für HMAC-basierte Dekoder, selbst wenn das Framework normalerweise nur einen verwendet.
  • Flexibles Base64-kodiertes Wörterbuchformat ermöglicht das Hinzufügen einer beliebigen Byte-Sequenz als Eintrag; wird mit einer sinnvollen Standardliste ausgeliefert.
FrameworkUnterstütztAnmerkungen
JSON Web Tokens✅HS256, HS384, HS512
Django✅Gängige Algorithmen
Flask✅Gängige Algorithmen
Rack✅Gängige Algorithmen
Express (cookie-signer)✅Gängige Algorithmen
Laravel✅AES-CBC-128/256 (GCM noch nicht unterstützt)
itsdangerous✅URLSafeSerializer/URLSafeTimedSerializer (Standard-Salt)
Andere❌Noch nicht!

Erste Schritte

Um CookieMonster zu installieren, installieren Sie Go und dann die CLI:

root@kitploit:~
go install github.com/iangcarroll/cookiemonster/cmd/cookiemonster@latest

CookieMonster benötigt nur zwei grundlegende Dinge: ein Cookie zum Entschlüsseln und ein Wörterbuch. Falls Sie kein Wörterbuch haben, wird CookieMonster mit einem Standard-Wörterbuch aus dem Flask-Unsign Projekt ausgeliefert. CookieMonster-Wörterbücher sind etwas anders; jede Zeile muss mit base64 kodiert sein. Das liegt daran, dass Python-Projekte besonders großzügig mit dem Einfügen von nutzlosen Bytes in diese Schlüssel sind und wir diese ordnungsgemäß behandeln müssen.

Ein Beispiel für die Verwendung der CLI mit einem statischen Cookie oder mit einer URL:

root@kitploit:~
% ./cookiemonster -cookie "gAJ9cQFYCgAAAHRlc3Rjb29raWVxAlgGAAAAd29ya2VkcQNzLg:1mgnkC:z5yDxzI06qYVAU3bkLaWYpADT4I"
🍪 CookieMonster 1.3.0
ℹ️ CookieMonster loaded the default wordlist; it has 38919 entries.
✅ Success! I discovered the key for this cookie with the django decoder; it is "changeme".

% ./cookiemonster -url "https://httpbingo.org/cookies/set?abc=gAJ9cQFYCgAAAHRlc3Rjb29raWVxAlgGAAAAd29ya2VkcQNzLg:1mgnkC:z5yDxzI06qYVAU3bkLaWYpADT4I"
🍪 CookieMonster 1.3.0
⚠️  I got a non-200 status code from this URL; it was 302.
ℹ️ CookieMonster loaded the default wordlist; it has 38919 entries.
✅ Success! I discovered the key for this cookie with the django decoder; it is "changeme".

Express-Unterstützung

CookieMonster kann Cookies unterstützen, die mit cookie-session signiert wurden, was bei Express üblich ist. Allerdings tut dies einige seltsame Dinge, die bei der Verwendung dieses Tools Vorsicht erfordern. Eine typische Antwort einer cookie-session-Anwendung sieht so aus:

root@kitploit:~
set-cookie: session=eyJhbmltYWxzIjoibGlvbiJ9
set-cookie: session.sig=Vf2INocdJIqKWVfYGhXwPhQZNFI

Um dies an CookieMonster zu übergeben, müssen Sie sowohl den Cookie-Namen als auch den Signatur-Cookie angeben. In diesem Beispiel würden Sie CookieMonster so aufrufen: cookiemonster -cookie session=eyJhbmltYWxzIjoibGlvbiJ9^Vf2INocdJIqKWVfYGhXwPhQZNFI (beachten Sie das Trennzeichen ^ und den vorangestellten Cookie-Namen). Die API akzeptiert dasselbe Format in monster.NewCookie.

Unterstützung für das Neusignieren

CookieMonster bietet begrenzte Unterstützung zum Neusignieren eines Cookies, nachdem er entschlüsselt wurde, mit dem Flag -resign. Dabei wird der Inhalt des Cookies entsprechend Ihrer Eingabe modifiziert und dann die Signatur mit dem gefundenen Schlüssel neu berechnet. Derzeit ist dies für Django-dekodierte Cookies möglich; stellen Sie sicher, dass Sie das Original-Cookie an -cookie übergeben, und übergeben Sie -resign einen unkodierten Text, der im Cookie enthalten sein soll. CookieMonster kodiert Ihre Eingabe korrekt und signiert den Cookie dann neu.

API-Nutzung

CookieMonster stellt pkg/monster bereit, das es anderen Anwendungen ermöglicht, es einfach zu nutzen. Dies ist viel leistungsfähiger als das Starten der CLI, wenn Sie viele Cookies testen. Ein Beispiel für die Verwendung finden Sie unten.

root@kitploit:~
import (
    "github.com/iangcarroll/cookiemonster/pkg/monster"
    "errors"
)

var (
	//go:embed wordlists/my-wordlist.txt
	monsterWordlist string

	wl = monster.NewWordlist()
)

func init() {
	if err := wl.LoadFromString(monsterWordlist); err != nil {
        panic(err)
    }
}

func MonsterRun(cookie string) (success bool, err error) {
	c := monster.NewCookie(cookie)

	if !c.Decode() {
		return false, errors.New("could not decode")
	}

	if _, success := c.Unsign(wl, 100); !success {
		return false, errors.New("could not unsign")
	}

	return true, nil
}

Danksagungen

CookieMonster wurde mit Inspiration aus mehreren Quellen entwickelt und wird mit den exzellenten Flask-Unsign-Wörterbüchern ausgeliefert.

  • https://github.com/Paradoxis/Flask-Unsign
  • https://github.com/nicksanders/rust-django-signing
Tool herunterladen