whs 第4期 容器任务
Apache HTTPD 是一个广泛使用的 HTTP 服务器,可以通过 mod_php 执行 PHP 网页。 从 2.4.0 到 2.4.29 版本存在一个解析漏洞,当文件名以 .php 结尾时,会被识别为 1.php\x0APHP 文件,从而允许攻击者绕过特定的服务器安全策略。
https://httpd.apache.org/security/vulnerabilities_24.html https://security.elarlang.eu/cve-2017-15715-apache-http-server-filesmatch-bypass-with-a-trailing-newline-at-the-end-of-the-file-name.html
运行以下命令以搭建存在漏洞的 Apache HTTPD 服务器 ''' docker compose build docker compose up -d '''
服务器启动后,Apache 将在基于我的 IP 地址生成的 http://my-ip:8080 上运行。
首先,提交名为 1.php 的文件,会触发安全检查,请求被拒绝并显示 "bad file" 的提示。

但是,添加换行符后再次提交 1.php,可以观察到成功上传。 (在 Burp Suite 的 Hex 值中,在文件名旁边添加 0a 的方式进行的。)

当访问 '/1.php%0a' 时,尽管没有适当的 PHP 扩展名,它仍然被成功解析为 PHP 文件。这证实了存在解析漏洞。
