SAMLStorm (CVE-2025-29775) 实验环境

这是一个用于演示影响Node.js中xml-crypto库和SAML实现的SAMLStorm漏洞(CVE-2025-29775)的实验环境。(注意:这并不是对漏洞的真正利用,只是用于演示漏洞可能工作方式的复现。)
组件
- 服务提供者(SP):一个使用@node-saml/node-saml的易受攻击的SAML服务提供者
- 身份提供者(IdP):一个简单的模拟SAML身份提供者
- 利用工具:一个用于演示该漏洞的Web界面
设置
- 确保已安装Node.js
- 运行设置脚本:
python start-lab.py
这将:
- 生成必要的证书
- 安装依赖
- 在独立的终端中启动所有三个组件
使用方法
- 访问服务提供者:http://localhost:3000
- 点击“使用SAML登录”
- 在身份提供者处输入凭据
- 使用浏览器开发工具或代理拦截SAML响应
- 使用位于http://localhost:8000的利用工具修改响应
- 提交修改后的响应以演示漏洞
漏洞详情
SAMLStorm漏洞(CVE-2025-29775)影响xml-crypto库,该库被Node.js生态系统中的许多SAML实现所使用。该漏洞允许攻击者通过在SAML响应的DigestValue元素中插入注释来绕过签名验证。
更多信息: