u1tr0nex/cve-2026-40072-ssrf-lab

GitHub: u1tr0nex/cve-2026-40072-ssrf-lab

一个用于在本地安全复现并验证 web3.py CVE-2026-40072 SSRF 漏洞的实验教学环境。

Stars: 0 | Forks: 0

# CVE-2026-40072 SSRF 实验环境 实操本地实验环境,用于演示 web3.py 中的 CVE-2026-40072,展示在 Burp Suite 中的 SSRF 影响,并验证官方修复。 ## 概述 本仓库包含一个安全、仅限本地的 CVE-2026-40072 概念验证,该漏洞是与 web3.py 中 CCIP Read / OffchainLookup 处理相关的服务端请求伪造(SSRF)问题。该实验环境使用 Kali Linux、Python 虚拟环境、Flask(作为模拟内部服务)以及 Burp Suite 来拦截出站请求。 ## 你将学到什么 - 该漏洞在宏观层面上的工作原理。 - 如何在实验环境中安全地重现该请求。 - 如何使用 Burp Suite 拦截并检查请求。 - 如何通过升级 web3.py 来验证官方修复。 ## 前置条件 - Kali Linux - Python 3.13+ - Burp Suite 社区版或专业版 - 需要互联网连接以安装软件包 ## 安全提示 此实验环境仅供经授权的、本地的、教育目的使用。请在你自己的隔离环境中运行所有内容。请勿对你不拥有或未经授权评估的系统进行测试。 ## 设置 ### 1. 创建虚拟环境 ``` python3 -m venv ~/ssrf-lab source ~/ssrf-lab/bin/activate ``` ### 2. 安装依赖 ``` pip install -r requirements.txt ``` 如果 Kali 阻止了系统级的 pip,请继续使用上述的 venv。 ## 运行实验环境 ### 第一步:启动模拟内部服务 ``` source ~/ssrf-lab/bin/activate python3 lab/fake_internal_server.py ``` 保持此终端打开。它模拟了一个敏感的内部 endpoint。 ### 第二步:打开 Burp Suite - 启动 Burp Suite。 - 确保 Proxy listener 正在 `127.0.0.1:8080` 上运行。 - 如果你想捕获请求,请开启 Intercept。 ### 第三步:运行 SSRF 演示 ``` source ~/ssrf-lab/bin/activate python3 lab/ssrf_demo.py ``` 该请求应出现在 Burp 中,并且模拟服务应返回一个演示凭证字符串。 ### 第四步:验证已修复的版本 升级到修复后的版本: ``` pip install "web3==7.15.0" ``` 然后确认版本: ``` pip show web3 | grep Version ``` 运行检查脚本: ``` python3 lab/ssrf_fixed_check.py ``` 你应确认已修复的环境,并记录下 SSRF 请求不再发生。 ## 预期结果 - 易受攻击的版本:Burp 捕获出站请求,Flask 记录命中日志,Repeater 显示演示密钥。 - 已修复版本:未出现 SSRF 请求,并附带版本截图记录了该修复。 ## 许可证 MIT
标签:Burp Suite, CISA项目, OPA, SSRF, web3.py, 以太坊, 安全, 漏洞复现, 超时处理, 逆向工具, 靶场