复现 apache HTTPD 换行解析漏洞(CVE-2017-15715)
一、漏洞环境
docker环境
http://192.168.99.124:8082
二、漏洞原理
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A
将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略
漏洞版本:2.4.0~2.4.29
三、漏洞复现
1.右击桌面打开终端(linux系统)
2.创建一个1.php文件
touch 1.php
3.编写文件内容
<?phpinfo()?>
4.把桌面的burpsuite.sh
拖入终端模拟器,回车,打开burpsuit.
5.打开火狐浏览器,在设置-网络设置-中配置代理。
6.按下图配置代理
7.在网页中输入ip
http://192.168.99.124:8082
8.浏览刚刚创建的1.php文件
9.打开burpsuite中代理-开启拦截
10.在浏览器中点击提交查询,就可以在burpsuite中可以看到我们提交的数据包
11.右击-发送给Repeater(send to repeater),把拦截的这个数据包发送到重放器中。
12.在重放器中可以看到刚才拦截的数据包,点击“发送”,可以看到响应包中返回“bad file”,说明php文件上传失败。
13.在evil.php
后面插入一个\x0A
(注意,不能是\x0D\x0A
,只能是一个\x0A
),不再拦截:
14.访问刚才上传的evil.php%0a
发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
http://192.168.99.124:8082/evil.php%0a