• 海贼王   2015/9/4 0:12:00
  • 黑客小试牛刀-IIS短文件名泄露漏洞探测
  • 关键字: 网站安全 黑客 IIS漏洞
  •  虽然我是编辑,但对写技术类文章并不怎么感冒。最近我弟弟一直追着我要给他讲解怎么进行IIS短文件名泄露漏洞利用,刚好手边遇到个例子,于是乎,这里就顺便写了篇文章。本人小菜一枚,大牛勿喷。

    发现这个漏洞是wvs扫出来的,后来手动验证了一下。本文仅供参考与学习,还请各位看客遵守法律法规,我已将该漏洞上报该网站管理员。

    这是一个学校的网站,首先判断漏洞是否存在,找一个存在的文件http://202.195.237.148/bysj/shownews.aspx?newsno=451,利用通配符加短标签构造出http://202.195.237.148/bysj/shownews*~1*/.aspx?newsno=451访问这个地址IIS会返回给我们一个错误,大多数是bad request错误。


    说明不存在sa开头的文件或目录,这时候如果再构造像http://202.195.237.148/bysj/sj*~1*/.aspx?newsno=451这样的URL,如果返回404,说明存在以sj开头的文件,(如果返回的还是bad reques,换个再试)利用这个特性我们仅需要对每一位循环遍历26个字母就可以获取文件短文件名称,由于短文件名的规律为前6个字符+~1-9+扩展名前三位,我们可以根据短文件名结果推测或配合字典暴力猜测文件全名,测试后缀名并构造相应的url即可.原理差不多就是这样的吧

    下面我直接上exp,用poc跑。

    要实现该漏洞的再现最重要的是对的利用exp,这里我就提供一下exp吧。

    链接: http://pan.baidu.com/s/1kT9xtjh 密码: vnm9


    首先你要安装java环境,这个自己百度安装吧,

    然后把我给的工具放到C盘或者D盘的根目录里。

    然后,在cmd中运行java scanner 2 0 http://202.195.237.148/bysj/       此处0是线程设置,可以自由选择。


    选择0,然后第二个问你是不是要设置代理,此处我选NO,然后就开始扫描了。

    最后出来就是如下

     



    这个漏洞总结起来就是,攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。

    该漏洞应对解决方案:

    1.关闭NTFS 8.3文件格式的支持。该功能默认是开启的,对于大多数用户来说无需开启。

    如果是虚拟主机空间用户,请联系空间提供商进行修复。

    修改方法:

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

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

    3)升级net framework 至4.0以上版本.