漏洞介绍
漏洞原理
运维人员为了解决 Apache 解析漏洞,会使用 "" 配置,来限制匹配到的最后一个扩展名。这种方式虽然对多个扩展名的解析漏洞进行了防护,但是因为 $ 的正则匹配规则可以将 ".php\n" 的扩展名同样可以匹配到 "[^.]+.php$" 的规则,产生了换行解析漏洞
<FilesMatch "[^.]+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
漏洞编号
CVE-2017-15715
影响版本
Apache 2.4.0~2.4.2
环境搭建
cd httpd/CVE-2017-15715
docker-compose up -d
访问 靶机IP:8080 验证靶场是否正常启动
漏洞复现
通过文件上传地址上传恶意文件
并通过 BP 抓包
在文件扩展名后添加一个字母作为占位符
在 Hex 模块中将 a 修改为 %0a
放出请求包,上传文件
访问上传上去的evil.php%0a文件,文件名虽然不是.php但是文件还是作为.php文件执行