
JSON Web Token Хак-инструментарий
Набор инструментов для взлома JSON Web Token
Высокопроизводительный набор инструментов для тестирования, анализа и атак на JSON Web Tokens.
cargo install jwt-hack
brew install jwt-hack
sudo snap install jwt-hack
choco install jwt-hack
git clone https://github.com/hahwul/jwt-hack
cd jwt-hack
cargo install --path .
docker pull ghcr.io/hahwul/jwt-hack:latest
docker pull hahwul/jwt-hack:v2.6.0
| Режим | Описание | Поддержка |
|---|---|---|
| Encode | Кодировщик JWT/JWE | На основе секрета / На основе ключа / Алгоритм / Пользовательский заголовок / DEFLATE-сжатие / JWE |
| Decode | Декодировщик JWT/JWE | Алгоритм, Проверка Issued At, DEFLATE-сжатие, Структура JWE |
| Verify | Верификатор JWT | На основе секрета / На основе ключа (для асимметричных алгоритмов) |
| Crack | Взломщик секретов | Атака по словарю / Перебор / DEFLATE-сжатие |
| Payload | Генератор полезных нагрузок для атак на JWT | none / jku&x5u / alg_confusion (подпись через --public-key) / инъекция kid и claim / подмена claims / пластичность подписи / JWE-пробы / x5c / cty |
| Scan | Сканер уязвимостей | Автоматические проверки безопасности для распространённых уязвимостей JWT |
| Server | API-сервер | Запуск режима API-сервера (http://localhost:3000) |
| MCP | Сервер Model Context Protocol | Интеграция с ИИ-моделями через стандартизированный протокол |
Вы можете декодировать как обычные, так и DEFLATE-сжатые JWT. Инструмент автоматически обнаружит и распакует сжатые токены.
jwt-hack decode eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.CHANGED
jwt-hack decode COMPRESSED_JWT_TOKEN
Декодируйте токены JWE (JSON Web Encryption) для анализа их структуры. Инструмент автоматически определяет формат JWE (5 частей) и отображает детали шифрования.
# Декодирование структуры токена JWE
jwt-hack decode eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..ZHVtbXlfaXZfMTIzNDU2.eyJ0ZXN0IjoiandlIn0.ZHVtbXlfdGFn
# Отображает заголовок JWE, зашифрованный ключ, IV, шифротекст и тег аутентификации
jwt-hack encode '{"sub":"1234"}' --secret=your-secret
Вы можете использовать опцию --compress для применения DEFLATE-сжатия к полезной нагрузке JWT.
jwt-hack encode '{"sub":"1234"}' --secret=your-secret --compress
# С приватным ключом
ssh-keygen -t rsa -b 4096 -E SHA256 -m PEM -P "" -f RS256.key
jwt-hack encode '{"a":"z"}' --private-key RS256.key --algorithm=RS256
Создавайте токены JWE (JSON Web Encryption) для тестирования сценариев с зашифрованными JWT.
# Базовое кодирование JWE
jwt-hack encode '{"sub":"1234", "data":"encrypted"}' --jwe --secret=your-secret
# Токены JWE зашифрованы и могут быть расшифрованы только с правильным ключом
jwt-hack encode '{"sensitive":"data"}' --jwe
Проверяет, действительна ли подпись JWT, используя предоставленный секрет или ключ.
# С секретом (HMAC-алгоритмы, такие как HS256, HS384, HS512)
jwt-hack verify YOUR_JWT_TOKEN_HERE --secret=your-256-bit-secret
# С приватным ключом (для асимметричных алгоритмов, таких как RS256, ES256, EdDSA)
jwt-hack verify YOUR_JWT_TOKEN_HERE --private-key path/to/your/RS256_private.key
Атаки по словарю и перебором также поддерживают JWT, сжатые с помощью DEFLATE.
# Атака по словарю
jwt-hack crack -w wordlist.txt JWT_TOKEN
jwt-hack crack -w wordlist.txt COMPRESSED_JWT_TOKEN
# Атака перебором
jwt-hack crack -m brute JWT_TOKEN --max=4
jwt-hack crack -m brute COMPRESSED_JWT_TOKEN --max=4
jwt-hack payload JWT_TOKEN --jwk-attack evil.com --jwk-trust trusted.com
Автоматически сканирует токены JWT на распространённые проблемы безопасности и уязвимости.
# Полное сканирование, включая обнаружение слабых секретов и генерацию полезных нагрузок
jwt-hack scan JWT_TOKEN
# Пропустить взлом секретов для более быстрых результатов
jwt-hack scan JWT_TOKEN --skip-crack
# Пропустить генерацию полезных нагрузок
jwt-hack scan JWT_TOKEN --skip-payloads
# Использовать пользовательский словарь для обнаружения слабых секретов
jwt-hack scan JWT_TOKEN -w custom_wordlist.txt
# Ограничить количество попыток подбора секрета
jwt-hack scan JWT_TOKEN --max-crack-attempts 50
Команда scan проверяет:
Запустите локальный REST API для автоматизации и интеграций. Чтобы требовать аутентификацию, используйте --api-key и включайте X-API-KEY в запросы.
# Запуск на localhost:3000 с защитой по API-ключу
jwt-hack server --api-key your-api-key
# Пример запроса (должен включать X-API-KEY, когда задан --api-key)
curl -s http://127.0.0.1:3000/health -H 'X-API-KEY: your-api-key'
jwt-hack может работать как MCP-сервер, позволяя ИИ-моделям взаимодействовать с функциональностью JWT через стандартизированный протокол.
# Запуск MCP-сервера (взаимодействие через stdio)
jwt-hack mcp
MCP-сервер предоставляет следующие инструменты: