文件解析漏洞总结(IIS,NGINX,APACHE)

目录

一、IIS解析漏洞

IIS6.X

方式一:目录解析

方式二:畸形文件解析

IIS7.X

利用条件

环境配置

下载链接:

二、Nginx解析漏洞

2.1:nginx_parsing

利用条件

利用姿势

2.2:CVE-2013-4547

影响版本

利用姿势

三、Apache解析漏洞

3.1:apache_parsing

利用姿势

3.2:CVE-2017-15715

影响版本

利用姿势


一、IIS解析漏洞

IIS6.X

环境:windows server 2003

方式一:目录解析

  1. 添加IIS服务器

点击添加/删除windows组件,然后找到应用程序服务器双击点开,勾选ASP默认是不勾选的,然后安装。

  1. 访问站点:

查看2003的IP,然后用真实机访问。

  1. 访问站点

打开IIS信息服务管理器,然后点开WEB服务扩展全部改为允许。

  1. 1.txt文件复制到站点新建文件夹123.asp中

  1. 访问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

步骤一:浏览器中访问网站...

http://124.221.58.83:8088

步骤二:制作图片马并进行上传...获取上传文件地址...

没有上传成功,说明我们的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,页面没有转圈说明访问成功。

步骤五:使用菜刀链接...成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值