Apache HTTPD 换行解析漏洞(CVE-2017-15715)
0x01 漏洞简介
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A
将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
0x02 影响版本
Apache HTTPD 2.4.0~2.4.29
0x03 环境搭建
下载环境:https://github.com/vulhub/vulhub/tree/master/httpd/CVE-2017-15715
编译及运行漏洞环境:
docker-compose build
docker-compose up -d
启动后Apache运行在http://your-ip:8080
。
0x04 漏洞复现
此漏洞的出现是由于 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A 将被按照php 后缀进行解析,导致绕过一些服务器的安全策略。
在1.php后面插入一个\x0A
(注意,不能是\x0D\x0A
,只能是一个\x0A
),不再拦截:
访问刚才上传的/1.php%0a
,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞: