动手搭建本地实验环境,演示 web3.py 中的 CVE-2026-40072,展示 Burp Suite 中的 SSRF 影响,并验证官方修复。
本仓库包含 CVE-2026-40072 的安全、仅限本地的概念验证,该漏洞是 web3.py 中 CCIP Read / OffchainLookup 处理相关的服务端请求伪造 (SSRF) 问题。实验环境使用 Kali Linux、Python 虚拟环境、Flask 作为模拟的内部服务,以及 Burp Suite 来拦截出站请求。
本实验仅限授权的本地教育用途。所有操作均在您自己的隔离环境中运行。请勿针对您不拥有或未经授权评估的系统进行测试。
python3 -m venv ~/ssrf-lab
source ~/ssrf-lab/bin/activate
pip install -r requirements.txt
如果 Kali 阻止系统范围的 pip,请继续使用上面的虚拟环境。
source ~/ssrf-lab/bin/activate
python3 lab/fake_internal_server.py
保持此终端打开。它模拟一个敏感的内部端点。
127.0.0.1:8080 上运行。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 请求不再发生。
MIT