IIS短文件名暴力枚举漏洞利用工具(IIS shortname Scanner)

Posted websec80

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS短文件名暴力枚举漏洞利用工具(IIS shortname Scanner)相关的知识,希望对你有一定的参考价值。

脚本可以测试对应的URL是否存在漏洞,若存在漏洞,则猜解文件夹下所有的短文件名:包括文件和文件名。

网上早前已经有公开的工具了:https://code.google.com/p/iis-shortname-scanner-poc/

我没有参考他的代码。自己用python实现了一个漏洞利用脚本。简单测试,发现比上面的POC能猜解到更多的文件和文件夹。

获取源代码:  https://github.com/lijiejie/IIS_shortname_Scanner   (已于Oct 27, 2016更新)

测试: IIS_shortname_Scan.py http://stom.tencent.com

最终结果:

 

通过联想,就可以猜解到上传页:  http://stom.tencent.com/tapdupfile.aspx

----------------------------------------------------------------
Dir: /aspnet~1
File: /logina~1.cs
File: /tapdap~1.cs
File: /tapdup~1.cs
File: /queryg~1.ash*
File: /queryi~1.ash*
File: /queryp~1.ash*
File: /tapdap~1.asp*
File: /tapdup~1.asp*
----------------------------------------------------------------
1 Directories, 8 Files found in total
Note that * is a wildcard, matches any character zero or more times.

IIS短文件名漏洞修复

漏洞描述:
IIS短文件名泄露漏洞,Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。

危害:
攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。

Windows 还以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows的程序访问这些文件。在cmd下输入“dir /x”即可看到短文件名的效果。
通配符”*” 和 “?”发送一个请求到iis,当IIS接收到一个文件路径中包含”~”的请求时,它的反应是不同的.基于这个特点,可以根据http的响应区分一个可用或者不可用的文件。如下图所示不同IIS版本返回信息的不同。

技术分享

根据返回值不同判断漏洞是否存在,简单举例,www.test.com根目录下存在一个je2se.sql文件。

通过构造请求

GET /je*~1*/ HTTP1.1       根据返回404,正确的名

GET /je11*~1*/ HTTP1.1    返回400      ,错误的名    

我们就判断存在II短文件漏洞,当然还有自动化扫描工具

链接如下:

 https://github.com/lijiejie/IIS_shortname_Scanner

修复方法:
方法1、修改注册列表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation的值为1,或者,可以直接点此下载,然后运行,再重启下机器。(此修改只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除)。该修改不能完全修复,只是禁止创建推荐使用后面的修复建议

方法2、如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 --- Web 服务扩展 - ASP.NET 选择禁止此功能。(推荐修复方法,能彻底修复)

方法3、升级net framework 至4.0以上版本。(推荐修复方法,能彻底修复)

 













以上是关于IIS短文件名暴力枚举漏洞利用工具(IIS shortname Scanner)的主要内容,如果未能解决你的问题,请参考以下文章

IIS短文件名漏洞

IIS短文件名漏洞修复

利用URLScan工具过滤URL中的特殊字符(仅针对IIS6)-- 解决IIS短文件名漏洞

IIS短文件名泄露漏洞如何解决?

IIS6利用URLScan修复IIS短文件名漏洞

常见 Web 中间件及其漏洞概述:IIS