IIS短文件和文件夹泄漏漏洞的分析

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个字节),则根本没有短文件名。
其次,汉字和特殊符号等字符的猜解,也是很蛋疼的问题……
最后,即使猜出来了,也只有前六位,只能靠运气碰碰看了……
不过,它还是有不小的用处,也算是很另类的一个“漏洞”吧……
(提示:如果目标站自定义了400、404 错误页面,那么该扫描器是无法判断的……)
可以参考下表:
2012/07/04 20:46 <DIR> !@#!@#~1.TXT !@#!@#!@#.txt
2012/07/04 20:46 <DIR> !@#!@#.txt
2012/07/04 20:44 <DIR> 012345~1 0123456789
2012/07/04 20:44 <DIR> 1
2012/07/04 20:44 <DIR> 123
2012/07/04 20:44 <DIR> 123456
2012/07/04 20:44 <DIR> 1234567
2012/07/04 20:44 <DIR> 12345678
2012/07/04 20:44 <DIR> 123456~1 123456789
2012/07/04 20:46 <DIR> 啊.txt
2012/07/04 20:46 <DIR> 啊啊啊~1.TXT 啊啊啊啊啊啊啊啊啊.txt
2012/07/04 20:43 29 012345~1.TXT 0123456789.txt
2012/07/04 20:43 29 1.txt
2012/07/04 20:43 29 123.txt
2012/07/04 20:43 29 123456.txt
2012/07/04 20:43 29 1234567.txt
2012/07/04 20:43 29 12345678.txt
2012/07/04 20:43 29 123456~1.TXT 123456789.txt
摘自 Nuclear'Atk 网络安全研究中心

时间: 2024-09-29 01:29:49

IIS短文件和文件夹泄漏漏洞的分析的相关文章

IIS 短文件和文件夹泄漏漏洞分析

"IIS 短文件和文件夹泄漏漏洞"最近被炒得很火热,因为像以前什么注入漏洞.跨站脚本攻击炒过了之后,自然要炒个新的概念出来才对得起买他们安全设备的客户. 其实这个的意思就是更方便猜测我们的网站上有哪些文件. 如果我们的网站文件不保密.如果我们的网站文件无漏洞,那这个就无所谓漏洞了. 其实就好像是做生意的,把门牌号贴到网上,并不算不安全. 但如果是个秘密基地,把门牌号贴到网上,就算不安全了. 当然安全厂商是不管这些的,好不容易抓住一个所谓的漏洞,当然要宣传宣传. 这个源由是 Window

求一个递归修改文件夹内全部子文件和文件夹名的程序(batch或者perl)

问题描述 求一个递归修改文件夹内全部子文件和文件夹名的程序(batch或者perl) 需求是这样的: 递归修改文件夹中所有名字带"aaa"字符串的 文件夹名或者文件名改成 bbb 例如: 01_aaa |_01_aaa_01 |_nbdaaa_01.txt |_nbcaaa_02.txt |_02_aaa_01 改成 01_bbb |_01_bbb_01 |_nbdbbb_01.txt |_nbcbbb_02.txt |_02_bbb_01 解决方案 http://blog.163.c

mfc 如何通过checkbox控件选择文件夹路径

问题描述 mfc 如何通过checkbox控件选择文件夹路径 我创建一个mfc 工程, 如何通过checkbox控件弹出一个对话框选择文件夹路径,并获取该文件夹的路径.求大神指导 解决方案 勾上check box后,就调用跳出文件选择对话框 CString strFilePath; TCHAR pszBuffer[_MAX_PATH]; BROWSEINFO bi; LPITEMIDLIST pidl; bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.ps

IIS 6.0文件夹解析漏洞的补救办法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 事件:早前有暴出一个IIS6.0下文件名解析漏洞,遇到upload/1.asp/200912041704063114.jpg会自动解析成asp文件执行.此漏洞产生在IIS6.0,处理文件夹扩展名出错导致以.asp命名的文件夹后面的文件直接以asp代码执行.所以无论*.asp文件夹后面是什么格式的文件都被当作ASP程序执行.同理可得只要是可执行

IIS PHP环境Temp文件夹的权限问题引起的网站故障_win服务器

前几天不知为何,服务器抽风严重- 服务器非常慢,把WINDOWS2003重启了,结果连不上服务器.结果悲剧的去了机房. 查找不出什么问题,GHOST恢复系统. 几天后回去又装了个新站上去.再过两天后,问题又出现了. 排查过程 检查网页服务器,病毒,木马?是否被入侵? 检查数据库服务器,CPU,内存,网络一切正常,相应的端口也做了 IP 限制,只允许网页服务器访问,查看日志文件也没有异常情况 检查其余的 .Net 网站,速度正常,没有任何问题 检查其余的 Php 网站,架构方法一样,也没有任何问题

深入了解以“.”结尾的文件夹_漏洞研究

没见过这样的文件夹或是不知道我要说什么?看下面这张图就会知道了. 其中有六个文件夹是以 . 结尾的.你可以试着在windows模式下直接创建这样的文件夹,但是你会发现你永远无法得到以 . 结尾的文件夹.这是为什么?你可以在cmd下输入 md x..\ 来创建 x. 文件夹,而不是 x.. 文件夹,这又是为什么?我敢保证如果你能在windows模式下创建一个文件夹并且成功输入 x..\ 这些字符的话,文件夹的名字必定是 x. !不过遗憾的是windows会在你按下键盘的 \ 符号时提示"文件名不能

php文件上传漏洞简单分析

下面是一个简单的文件上传表单  代码如下 复制代码 <form action="upload.php" method="post" enctype="multipart/form-data" name="form1">   <input type="file" name="file1" /><br />   <input type="s

服务器性能变慢 c盘temp文件夹存在大量sess开头文件的问题原因及解决_win服务器

通过搜查找到了问题所在并进行了解决,在此详细记录以供参考. 一. temp文件夹大量文件的删除 以sess开头的存在于temp系统临时文件夹的文件,是php的session保存文件,由于php建立了session却在过期后没有成功删除,于是导致大量文件的积累. 清理方法很简单,新建批处理文件del_temp.bat,其中写入如下命令: 复制代码 代码如下: del %TEMP% /s /q *.* 保存后双击运行,即开始进行删除处理(也可直接在cmd命令行中输入执行)你也可以将其加入开机启动项,

如何为Outlook 2007设文件夹区分不同账号Email

因为outlook在很多功能方面没foxmail设置来得简单,就比如为每个账号Email生成一个文件夹,outlook只能通过规则策略来达到这个效果.所以对于自己实际应用做总结: 第一步:先在Outlook 2007收件夹下建立文件夹,用来存放相应帐号的邮件:比如先建立一个126文件夹,然后在126文件夹下面再建两个子文件夹,分别为收件箱和发件箱. 在Outlook 2007主窗口上依次点击"工具"→"规则和通知",在"规则和通知"窗口中点击&q