此项目演示了使用Flask的Web应用防火墙(WAF)模拟和CVE-2017-5638漏洞检查器。WAF中间件阻止包含特定模式的HTTP请求,漏洞检查器测试并利用Apache Struts 2漏洞(CVE-2017-5638)。
本项目演示了一个使用Flask构建的Web应用防火墙(WAF)模拟,以及针对CVE-2017-5638的漏洞检测器。WAF中间件会拦截包含特定模式的HTTP请求,漏洞检测器则用于检测并利用Apache Struts 2漏洞(CVE-2017-5638)。
server.py: 基于Flask的Web服务器,包含一个WAF中间件,用于拦截包含潜在恶意模式的HTTP请求。 vulnerable.py: 该脚本检测CVE-2017-5638漏洞,若目标存在漏洞,可执行任意命令。
server.py脚本搭建了一个带有WAF中间件的Flask Web服务器,该中间件会检查传入请求中是否包含特定恶意模式。若检测到被拦截的模式,则返回403禁止访问的响应。
安装Flask: pip install flask 运行服务器: python server.py 通过 http://127.0.0.1:5000/ 访问服务器。
vulnerable.py脚本用于检查指定URL是否存在CVE-2017-5638漏洞,并可在存在漏洞的服务器上执行命令。
安装所需库:
pip install requests 检查URL是否存在漏洞:
python vulnerable.py --url http://example.com --check 在存在漏洞的URL上执行命令:
python vulnerable.py --url http://example.com -c "whoami"
server.py脚本仅作为使用Flask构建WAF的基础演示。在实际应用场景中,应采用更高级的技术和模式。