本项目是一个概念验证(POC)防火墙服务器,旨在检测并拦截利用 CVE-2022-22965 漏洞(通常称为 Spring4Shell)的攻击。该服务器检查传入的 HTTP 请求,并拦截任何匹配与此漏洞相关的已知恶意模式的请求。
防火墙服务器处理程序是一个基于 Python 的简单 HTTP 服务器,使用 http.server 库构建。它监视传入的 HTTP POST 请求,查找与 Spring4Shell 漏洞相关的特定标头和负载模式。如果请求匹配这些模式,则会被拦截,并且服务器会返回 403 Forbidden 状态。
克隆仓库
git clone https://github.com/BlackBird63030/Block-Spring4Shell
cd Block-Spring4Shell
运行服务器
python frs.py
默认情况下,服务器将在 localhost 的 8000 端口运行。
测试防火墙规则
此 POC 使用两条主要规则来检测并拦截 CVE-2022-22965 漏洞的利用尝试:
规则 1:拦截负载模式
规则 2:拦截可疑标头
如果任一规则匹配,服务器将返回 403 Forbidden 状态并返回 JSON 消息: {"error": "Forbidden Access"}
如果没有条件满足,服务器将返回 200 OK 状态及: {"message": "Request received"}
要测试防火墙,请使用 tnt.py 脚本。它将对防火墙脚本发送 5 个 POST 请求。
python tnt.py
服务器将响应: {"error": "Forbidden Access"}
此 POC 用于教育和测试目的,以演示一个基本的防火墙规则,该规则拦截针对 Spring4Shell 漏洞的特定攻击向量。它不能替代生产环境中的全面防火墙解决方案。
MIT 许可证