本项目是一个以 Python 实现的简单而有效的防火墙,属于概念验证(POC)。它旨在充当 HTTP 服务器,检查传入的 POST 请求,以检测并阻止与 Spring4Shell (CVE-2022-22965) 远程代码执行(RCE)漏洞相关的特定载荷模式。
该防火墙利用了 Python 内置的 http.server 模块。核心逻辑位于 ServerHandler 类的 do_POST 方法中。
POST 请求。class.module.classLoader。该字符串是 Spring4Shell 漏洞利用的基本组成部分,攻击者难以对其进行混淆。403 Forbidden HTTP 响应进行拦截。200 OK 响应正常处理。虽然其他缓解策略可能侧重于请求头或特定的 URL 路径,但本方法之所以被选用,是因为其鲁棒性:
tomcatwar.jsp)或自定义请求头名称,攻击者可以轻易更改这些指标。要运行该防火墙,请使用主脚本 firewall_server.py:
python firewall_server.py
服务器将在 localhost:8000 上启动。
然后,您可以使用所提供的 Test_Requester.py 脚本来模拟恶意请求,并验证这些请求是否会被阻止。
这是一个概念验证(POC),仅用于教育和演示目的。它不是生产就绪的防火墙解决方案。