目录
一、IIS解析漏洞
IIS6.X
环境:windows server 2003
方式一:目录解析
- 添加IIS服务器
点击添加/删除windows组件,然后找到应用程序服务器双击点开,勾选ASP默认是不勾选的,然后安装。
- 访问站点:
查看2003的IP,然后用真实机访问。
- 访问站点
打开IIS信息服务管理器,然后点开WEB服务扩展全部改为允许。
- 1.txt文件复制到站点新建文件夹123.asp中
- 访问192.168.222.136/1.asp/1.txt,asp代码执行成功。
方式二:畸形文件解析
1. 在IIS 6处理文件解析时,分号可以起到截断的效果。也就是说 1.asp;.jpg会被服务器看成是1.asp。我们再此目录下创建1.asp;,jpg文件。
2.访问成功
IIS7.X
在IIS7.0和IIS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
利用条件
1.php.ini里的cgi.fix_pathinfo=1 开启
2.lIS7在Fast-CGl运行模式下
环境配置
步骤一:在自己电脑中安装PHPstudy for IIS。
下载链接:
https://www.xp.cn/download.html
步骤二:配置php.ini文件,将cgi.fix_pathinfo=1前的 ;删掉保存...并重启...
步骤三:lIS --》 配置网站--》 处理程序映射--》 PHPStudy_FastCGl --》 请求限制 --》取消勾
步骤四:利用姿势
在WWW下创建一个123.jpg文件
访问时,在1.jpg后加上/.php,代码成功被执行。
二、Nginx解析漏洞
2.1:nginx_parsing
这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将 /xx.jpg/xx.php 解析为 php 文件。
利用条件
Nginx <=0.8.37
cgi.fix_pathinfo=1
利用姿势
Nginx的文件解析漏洞...和IIS7.0的解析漏洞同样的原理,因为cgi.fix_pathinfo=1造成的解析漏洞...
PS:同样使用147.jpg/.php方式进行绕过...
这里我们主要说漏洞,没有Vulhub靶场可以看下方链接安装:
https://blog.csdn.net/weixin_45744814/article/details/120185420
步骤一:浏览器中访问网站...
步骤二:制作图片马并进行上传...获取上传文件地址...
没有上传成功,说明我们的PHP代码被检测到了,所以我们需要加一个图片的文件头。
再次上传,上传成功。
步骤三:访问以下路径,利用Nginx解析漏洞...
http://124.221.58.83:8088/uploadfiles/468f61d0b18f70220b7a5628531d8666.jpg/.php
步骤四:复制上面链接,利用蚁剑连接
2.2:CVE-2013-4547
此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。
影响版本
Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
利用姿势
步骤一:浏览器中访问网站
步骤二:因为我们上传php文件会被拦截,所以在.jpg后面添加两个空格并给上.php后缀,在16进制修改中将原本连个空格的0x20 0x20修改为如下即0x20 0x00进行发包...
得到路径 uploadfiles/719.jpg
步骤四:访问上传后的文件....由于url会将其编码,需要继续抓包修改0x20 0x20为0x20 0x00
http://124.221.58.83:8089/uploadfiles/719.jpg%20%20.php
备注:这里在BP中需要将原来的%20%20删除,改成两个空格方便修改
步骤五:访问我们写入的8888.php,访问成功。
步骤六:利用蚁剑连接。
三、Apache解析漏洞
3.1:apache_parsing
在Apache1.x/2.x中Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。如1.php.xxxxx
利用姿势
步骤一:访问靶机并上传556.php.jpg文件
得到上传路径
步骤二:与网站进行路径拼接...如下,PHP代码执行成功!
3.2:CVE-2017-15715
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
影响版本
2.4.0~2.4.29
利用姿势
步骤一:浏览器访问网站
步骤二:尝试上传一句话木马文件,发现被拦截...
步骤三:我们进行抓包,在evil.php文件后面添加空格0x20在改为0x0a再次返送即可上传成功....
这里建议给evil.php改个名字
步骤四:访问上传的6666.php文件在后面加上%0a,页面没有转圈说明访问成功。
步骤五:使用菜刀链接...成功!