本项目是我于2025年8月通过Forage完成的一次网络安全岗位模拟的一部分。它模拟了涉及Spring4Shell(CVE-2022-22965)漏洞的真实事件,并展示了自定义防火墙如何检测和缓解漏洞利用尝试。
📌 项目概述
本次模拟的目标是识别并阻止针对易受攻击的Web应用端点的恶意流量。我开发了一个基于Python的自定义HTTP防火墙,用于监控和过滤传入请求,检测已知的利用模式并实时阻止它们。
🧰 关键特性
🔍 威胁检测:分析HTTP POST数据中的可疑键和负载。
🔐 防火墙防御:使用基于模式的规则阻止恶意请求。
💣 利用防护:通过Runtime.getRuntime()及类似签名检测远程代码执行尝试。
📈 日志记录与监控:在终端中显示被阻止的尝试及阻止原因。
🖼️ 演示
在第一张截图中,一个可疑的POST请求试图通过注入包含Runtime.getRuntime()的负载来利用Spring4Shell漏洞。自定义防火墙立即检测到该模式并阻止该请求,返回403 Forbidden响应——有效阻止了一次潜在的远程代码执行(RCE)尝试。

相比之下,第二张截图显示了一个包含无害数据(username=test)的安全POST请求发送到服务器。防火墙将其识别为安全并允许请求通过,返回标准的200 OK响应。这凸显了防火墙精准区分正常与恶意活动的能力。

🧪 使用的技术
Python(防火墙实现)
http.server模块,用于模拟易受攻击的服务器
curl,用于模拟POST请求
自定义签名检测逻辑
📋 我做了什么
分析了一次针对JSP端点的Spring4Shell模拟攻击。
识别了POST数据中的可疑负载。
编写了一个自定义防火墙(firewall_server.py)来检测和阻止恶意请求。
通过模拟攻击验证了防火墙(见截图)。
通过详细的事后分析记录了该事件。
📜 证书
RNhbu8QnDzthwynEf_M6JGAwZ52SMusMEcK_cKqCaSyzkPoWXRdg5_1754434963290_completion_certificate.pdf