GenCRIMEExploit is a PoC for exploiting compression-based token leakage vulnerabilities (like CRIME attack). It attempts to guess the session token or sensitive data by leveraging the length of compressed responses from a target server.
- Fast token guessing using parallel threads
- Adjustable charset for guessing
- Custom HTTP headers support
- Automatic retry mechanism for failed requests
- Saves the discovered token to a file (optional)
- Detailed logging of attack progress
- Python 3.x
- Required libraries:
requests
,argparse
,concurrent.futures
,zlib
You can install the necessary dependencies using:
pip install requests
python main.py <url> <prefix> [--charset CHARSET] [--headers KEY=VALUE] [--threads THREAD_COUNT] [--timeout TIMEOUT] [--retries RETRIES] [--output OUTPUT_FILE]
- url: The target URL.
- prefix: Known prefix for the token being guessed.
- --charset: Set of characters to use for guessing (default:
a-zA-Z0-9
). - --headers: Additional HTTP headers as key-value pairs (format:
key=value
). - --threads: Number of concurrent threads for making requests (default: 10).
- --timeout: Timeout for each HTTP request in seconds (default: 5).
- --retries: Number of retry attempts for failed requests (default: 3).
- --output: File to save the discovered token.
python main.py https://example.com "session=" --charset abcdef123456 --headers "User-Agent=Mozilla/5.0" --threads 15 --timeout 10 --retries 5 --output token.txt
This example will attempt to guess a token with prefix "session=" at https://example.com
using a charset of abcdef123456
, with custom headers, 15 threads, 10 seconds timeout for requests, 5 retries, and will save the discovered token in token.txt
.
2024-10-01 12:00:00 - INFO - Текущий токен: session=xYz
2024-10-01 12:00:02 - INFO - Текущий токен: session=xYzA
2024-10-01 12:00:04 - INFO - Текущий токен: session=xYzA9
2024-10-01 12:00:06 - INFO - Обнаружен полный токен сессии: session=xYzA9=
Найдено значение токена: session=xYzA9=
GenCRIMEExploit - это PoC для эксплуатации уязвимостей, связанных с утечкой токенов на основе компрессии (например, атака CRIME). Программа пытается угадать токен сессии или конфиденциальные данные, используя длину сжатых ответов от целевого сервера.
- Быстрое угадывание токена с использованием параллельных потоков
- Настраиваемый набор символов для угадывания
- Поддержка кастомных HTTP-заголовков
- Автоматическая повторная отправка запросов при ошибках
- Сохранение обнаруженного токена в файл (опционально)
- Подробное логирование процесса атаки
- Python 3.x
- Необходимые библиотеки:
requests
,argparse
,concurrent.futures
,zlib
Вы можете установить необходимые зависимости с помощью:
pip install requests
python main.py <url> <prefix> [--charset CHARSET] [--headers KEY=VALUE] [--threads THREAD_COUNT] [--timeout TIMEOUT] [--retries RETRIES] [--output OUTPUT_FILE]
- url: Целевой URL-адрес.
- prefix: Известный префикс для угадываемого токена.
- --charset: Набор символов для перебора (по умолчанию:
a-zA-Z0-9
). - --headers: Дополнительные HTTP-заголовки в формате
key=value
. - --threads: Количество параллельных потоков для выполнения запросов (по умолчанию: 10).
- --timeout: Таймаут для каждого HTTP-запроса в секундах (по умолчанию: 5).
- --retries: Количество попыток повторного запроса при ошибках (по умолчанию: 3).
- --output: Файл для сохранения найденного токена.
python main.py https://example.com "session=" --charset abcdef123456 --headers "User-Agent=Mozilla/5.0" --threads 15 --timeout 10 --retries 5 --output token.txt
В этом примере программа пытается угадать токен с префиксом "session=" по адресу https://example.com
, используя набор символов abcdef123456
, кастомные заголовки, 15 потоков, 10-секундный таймаут для запросов, 5 повторов запросов и сохранит найденный токен в файл token.txt
.
2024-10-01 12:00:00 - INFO - Текущий токен: session=xYz
2024-10-01 12:00:02 - INFO - Текущий токен: session=xYzA
2024-10-01 12:00:04 - INFO - Текущий токен: session=xYzA9
2024-10-01 12:00:06 - INFO - Обнаружен полный токен сессии: session=xYzA9=
Найдено значение токена: session=xYzA9=