IIS短文件和文件夹泄漏漏洞的分析
2012-07-05 22:07:53 来源:WEB开发网 IIS是有微软使用微软windows功能扩展模块创建的一套web服务器应用程序,是世界上第三个最流行的服务器。
漏洞描述:
漏洞研究小组发现了一个微软IIS的漏洞,攻击者可以利用一个包含"~"的get请求,来让服务器上的文件和文件夹被泄漏、
影响版本:
IIS 1.0, Windows NT 3.51
IIS 2.0, Windows NT 4.0
IIS 3.0, Windows NT 4.0 Service Pack 2
IIS 4.0, Windows NT 4.0 Option Pack
IIS 5.0, Windows 2000
IIS 5.1, Windows XP Professional and Windows XP Media Center Edition
IIS 6.0, Windows Server 2003 and Windows XP Professional x64 Edition
IIS 7.0, Windows Server 2008 and Windows Vista
IIS 7.5, Windows 7 (远程开启了错误或者没有web.config配置文件的情况下)
IIS 7.5, Windows 2008 (经典托管管道模式)
漏洞分析与利用:
如果网站是运行在IIS服务器上,可以通过"~"来发现一些文件和文件夹,攻击者可以发现重要的文件或者文件夹,如果这些文件或者文件夹是正规的可见文件.
关于此漏洞的深入分析可以参考以下连接中的文章:
http://soroush.secproject.com/blog/2012/06/microsoft-iis-tilde-character-vulnerabilityfeature-short-filefolder-name-disclosure/
漏洞详细说明:
一直在寻找一种方法,如果我可以使用通配符"*" 和"?"发送一个请求到iis,我意识到当IIS接收到一个文件路径中包含"~"的请求时,它的反应是不同的.基于这个特点,我们可以根据http的响应区分一个可用或者不可用的文件.在以下的表中,文件validxxx.xxx是存在于网站服务器根目录的.(备注:xxx.xxx是指不确定,还需要继续猜解判断).下图主要是不同版本的IIS返回根据请求的返回错误来判断是否存在某个文件.
举例说明如果一个IIS6网站http://www.xxx.com的短文件猜解方法
请求http:// /a*~1*/.aspx 返回404,就说明存在a开头的一个axxx.xxx的文件.(其中xxx.xxx还需要进一步确定判断是什么字母,什么后缀).
请求http://www.xxx.com/a*~1*/.aspx 返回400,说明不存在a开头的一个axxx.xxx的文件.(其中xxx.xxx还需要进一步确定判断是什么字母,什么后缀).
IIS5.X的判断方法如下:
请求/a*~1* 返回404 说明存在a开头的一个文件。
请求/a*~1* 返回400 说明不存在a开头的一个文件.
IIS7.x.net 2 no error handing判断方法如上图,各位仔细看.
下面附上一个IIS6猜解文件的全过程。
测试地址:http://sdl.me/AcSecret.html acsecret.html是存在于服务器上的.猜解过程如下图:
附上详细的poc和漏洞利用说明文件:
PoC: http://www.exploit-db.com/sploits/19525.zip
Paper: http://www.exploit-db.com/download_pdf/19527
漏洞修复方案:
使用微软或者安全厂商提供的解决方案
使用配置好的Web应用防护系统(拒绝丢弃掉包含"~"线的Web请求)可能会起到对此漏洞进行防范的作用.
漏洞发现者:
Soroush Dalili (@irsdl)
Ali Abbasnejad
漏洞参考:
http://support.microsoft.com/kb/142982/en-us
http://soroush.secproject.com/blog/2010/07/iis5-1-directory-authentication-bypass-by-using-i30index_allocation/
站长评论:
其实这是个很鸡肋的“漏洞”……
首先,如果文件名符合8.3规范的文件(文件名主体部分小于等于8个字节、扩展名部分小于等于3个字节),则根本没有短文件名。
其次,汉字和特殊符号等字符的猜解,也是很蛋疼的问题……
- ››iis7 下 url重写后原本存在的html不能访问了未能执...
- ››iis将Session值存到数据库中继续运行方法
- ››IIS7 Request format is unrecognized.
- ››IIS Rewrite 配置
- ››IIS7错误:“由于扩展配置问题而无法提供您请求的...
- ››IIS7应用PHP Manager使用FastCGI快速部署
- ››IIS短文件和文件夹泄漏漏洞的分析
- ››IIS .net 网站打不开 http:404 出错
- ››IIS上asp.net网站无法访问(错误:服务器应用程序不...
- ››文件夹复制 (win&linux可)
- ››文件上传下载
- ››IIS+PHP配置图文详解
赞助商链接