CVE-2017-15715漏洞复现
復(fù)現(xiàn)環(huán)境
docke
apache 2.4.0到2.4.29即可
php5.5
?
復(fù)現(xiàn)過程
先在物理機(jī)上創(chuàng)建目錄
mkdir -p /var/www/html
然后創(chuàng)建個(gè)容器,并關(guān)聯(lián)物理機(jī)的/var/www/html目錄
docker run -d -v /var/www/html:/var/www/html -p 8080:80 --name apache php:5.5-apache
再把物理機(jī)的/var/www/html開放寫權(quán)限
chmod 777 /var/www/html/
寫一個(gè)文件上傳的php
if(isset($_FILES['file'])) {???? $name = basename($_POST['name']);???? $ext = pathinfo($name,PATHINFO_EXTENSION);???? if(in_array($ext, ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'])) {???????? exit('bad file');???? }???? move_uploaded_file($_FILES['file']['tmp_name'], './' . $name); }這里過濾了php,php3,php4,php5,phtml,pht
訪問下抓包
然后更改請(qǐng)求方式和內(nèi)容類型
?
上傳一個(gè)1.php文件,會(huì)被攔截
上傳個(gè)2.txt,上傳正常
在上傳個(gè)3.php并在文件名后面添加0a
上傳成功
?
?
訪問xxx/3.php%0a發(fā)現(xiàn)解析成功
?
后記
1. 默認(rèn)的Apache配置文件即可利用,因?yàn)锳pache配置使用了<FileMatch>:
<FilesMatch \.php$>????
SetHandler application/x-httpd-php
</FilesMatch>
后來測試發(fā)現(xiàn)回車的(0D)是不行的,雖然能上傳成功,但是無法解析
火狐
谷歌
2. 獲取文件名時(shí)不能用$_FILES['file']['name'],因?yàn)樗麜?huì)自動(dòng)把換行去掉,這一點(diǎn)有點(diǎn)雞肋
總結(jié)
以上是生活随笔為你收集整理的CVE-2017-15715漏洞复现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用最新Apache解析漏洞(CVE-2
- 下一篇: Metasploit--后渗透(一些基本