此仓库包含一个完整、经过验证的 Nuclei 模板,用于检测 CVE-2019-18935(Telerik UI for ASP.NET AJAX 反序列化远程代码执行漏洞),专为 ProjectDiscovery 赏金计划创建。
CVE-2019-18935 是 Progress Telerik UI for ASP.NET AJAX(版本 2011.1.315 至 2019.3.1023)中的一个严重 .NET 反序列化漏洞,允许未经身份验证的远程代码执行。此漏洞:
.
├── README.md # 本文件
├── BOUNTY_PLAN.md # 原始规划文档
├── nuclei-templates/
│ └── cves/
│ └── 2019/
│ └── CVE-2019-18935.yaml # 主 Nuclei 模板
├── docker-environment/ # 易受攻击的测试环境
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── web.config
│ ├── Default.aspx
│ └── README.md
├── scripts/ # 利用和验证脚本
│ ├── RAU_crypto.py # 加密辅助模块
│ ├── telerik_version_detect.py # 版本检测工具
│ └── telerik_exploit_poc.py # POC 验证脚本
├── documentation/ # 技术文档
│ ├── TESTING.md # 测试指南
│ └── METHODOLOGY.md # 检测方法
├── debug-output/ # 调试日志和结果(待生成)
└── payloads/ # 测试载荷(可选)
✅ 完整的 POC 实现 - 不仅仅是版本检测
✅ 多阶段验证 - 处理程序发现 + 版本检查 + 利用证明
✅ 低误报率 - 多个匹配器之间的 AND 条件
✅ 非破坏性 - 安全测试,无需实际利用
✅ 全面的提取 - 版本信息、错误详情、检测阶段
✅ 文档完善 - 包含完整的方法论和测试指南
# 安装 Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# 安装 Python 依赖(用于验证脚本)
pip3 install -r requirements.txt
# 安装 Docker(用于测试环境)
# 参见:https://docs.docker.com/get-docker/
# 针对单个目标测试
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-v
# 带调试输出测试
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-debug -v
# 针对多个目标测试
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-l targets.txt \
-json -o results.json
# 进入 docker 环境目录
cd docker-environment
# 重要:首先获取 Telerik.Web.UI.dll(参见 docker-environment/README.md)
# 将 DLL 放置在此目录中
# 构建并启动
docker-compose up -d
# 验证是否运行
curl http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
# 测试模板
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -v \
2>&1 | tee debug-output/test-run.log
[CVE-2019-18935] [http] [critical] http://localhost:8080/Telerik.Web.UI.WebResource.axd
[EXTRACTED]
telerik_version: 2017.2.503.40
detection_stage: Handler detected in request 1, Version in request 2, Deserialization in request 3
error_details: Exception at Telerik.Web.UI...
cd scripts
# 检测 Telerik 版本并检查漏洞
python3 telerik_version_detect.py http://target.com
# 输出:
# [+] Handler found: http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# [+] Detected version: 2017.2.503
# [!] VULNERABLE: Version in range 2011.1.315 - 2019.3.1023
# 运行非破坏性 POC
python3 telerik_exploit_poc.py http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# 输出:
# [+] Handler is accessible
# [+] Upload capability confirmed
# [+] Deserialization processing detected
# [!] VULNERABILITY: CONFIRMED
该模板使用 三阶段检测过程:
阶段 1 - 处理程序发现:
/Telerik.Web.UI.WebResource.axd?type=rau 发送 GET 请求阶段 2 - 版本枚举:
rauPostData 参数进行 POST阶段 3 - 利用证明:
__type 反序列化标记的载荷三个阶段均需成功才能判定为阳性检测(AND 条件)。
参见 documentation/METHODOLOGY.md 获取完整技术细节。
⚠️ 重要:此模板被标记为 侵入性,因为它:
仅将本模板用于:
法律合规性由您自行负责。
curl http://target/Telerik.Web.UI.WebResource.axd?type=raupython3 scripts/telerik_exploit_poc.py <url>nuclei -t template.yaml -u <url> -debugdocker-compose logs有关完整故障排除指南,请参见 TESTING.md。
此模板专为 ProjectDiscovery 赏金计划创建。如需改进或报告问题:
本作品仅用于安全研究和授权测试。请负责任且合法地使用。
为 ProjectDiscovery 赏金计划创建
研究日期:2025 年 12 月
状态:准备提交 ✅