您的位置:首页 > 其它

IIS 文件枚举解析漏洞

2016-10-08 05:54 357 查看

0x01 介绍

         1 Microsoft Internet信息服务(IIS)是Microsoft Windows自带的一个网络信息服务器。IIS7/7.5当以CGI的方式运行PHP时,在处理PHP文件路径的解析时存在问题。如果网站允许上传文件,而且上传文件路径可得到,远程攻击者可以利用此漏洞上传包含恶意代码的文件并得到执行,实现以Web进程权限执行任意命令。攻击者上传允许上传的文件类型,文件中包含恶意代码,得到上传文件的URL后,在其后添加任意php后缀的文件名进行访问,会把上传的文件作为CGI脚本执行。
  

       2 Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件,windows下通过~表示短文件名,如:test~1, 在IIs中可通过短文件名的方式判断目标文件是否存在,从而降低文件名暴力猜解的难度。

0x02 漏洞验证

1 验证方式1

          任意文件后面添加php后缀的文件名进行访问,文件可作为CGI脚本执行,如http://url/roots.txt/atest.php。若文件不存在则报404错误。

http:/url/robots.txt/atest.jsp   返回404
http://url/robots.txt/atest.php   返回文字或空白

2 验证方式2 

利用“~”字符猜解暴露短文件/文件夹名。 检测工具与手段:IIS Shortname Scanner

--------- Final Result ---------

3442 requests have been sent to the server:

Dir: ASPNET~1

Dir: HTTPHA~1

File: CROSSD~1.XML

File: HELP~1.ASP

File: LOGIN3~1.ASP

File: LOGINF~1.ASP

File: LOGIN~1.ASP

File: MAIN~1.ASP

File: WEBCON~1.BAK

File: WEBCON~2.BAK

File: WEB~1.CON

2 Dir(s) was/were found

9 File(s) was/were found

0x03 修复思路

1 升级IIS 

2 增强IIS设置。在IIS里找到“处理程序映射”,然后对PHP这一项进行编辑,将映射调整为仅限文件。或则在php.ini中修改为cgi.fix_pathinfo = 0

3 禁止url中使用“~”或它的Unicode编码。关闭windows的8.3格式功能。

欢迎大家分享更好的思路,热切期待^^_^^ !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: