修复IIS波浪号漏洞

我们的一个IIS服务器(IIS 7.5,Server 2008 R2)显然对代字号短文件名泄露问题“脆弱”。

但是,我很难真正解决这个问题。 到目前为止,我已经

在这里输入图像描述

  • 为代字号添加了filter规则:

在这里输入图像描述

  • IISRESET几次

  • 检查web.config是否添加了相关的过滤规则

..但仍然,我无法让我的网站通过testing :

 java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com [...SNIP...] Testing request method: "TRACE" with magic part: "/webresource.axd" ... Testing request method: "DEBUG" with magic part: "" ... Testing request method: "OPTIONS" with magic part: "" ... Testing request method: "GET" with magic part: "" ... Reliable request method was found = GET Reliable magic part was found = 144 requests have been sent to the server: <<< The target website is vulnerable! >>> 

我还需要做些什么来解决这个问题?

编辑:这里的DIR /x似乎不显示8.3文件名:

在这里输入图像描述

这里是网站的应用程序池(服务器上的所有其他网站都是相同的):

在这里输入图像描述

EDIT2 :validation没有剩余的8.3个文件名:

在这里输入图像描述

尝试使用fsutil扫描现有的短文件名:

  • fsutil 8dot3name scan /s /v E:\inetpub\wwwroot

如果发现它们,将其剥离:

  • fsutil 8dot3name strip /s /v E:\inetpub\wwwroot

也看着空的魔法部分( magic part: "" )的日志,我不知道可能是POC的一个错误。 config.xml中的这一行看起来好像在/webresource.axd之后有额外的逗号:

 <entry> key="magicFinalPartList"> <![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx‌​,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]> </entry> 

我问过dev。 通过推特关于它,他回应:

对于不需要扩展的罕见情况。 但是,最近这只会造成更多的问题! 我现在将它删除。

我从configuration文件中删除它。 这是第二次投诉,所以这是正确的时间。

所以,现在看来你是安全的:)

也注意:对NtfsDisable8dot3NameCreationregistry项的更改只会影响更改后创build的文件,文件夹和configuration文件。已存在的文件不受影响。

注意:尽pipe在Windows下禁用8.3文件名创build可提高文件性能,但某些应用程序(16位,32位或64位)可能无法find具有长文件名的文件和目录。

不幸的是,真正解决这个问题的唯一方法是烦人的回旋,取决于你的windows版本,禁止生成8.3名字的能力。

对于您的Windows版本:

要在所有NTFS分区上禁用8.3名称创build,请在提升的命令提示符下键入fsutil.exe行为集disable8dot3 1,然后按Enter键。

来源: http : //support.microsoft.com/kb/121007

我不太确定脚本是如何工作的,以及你的networking是如何设置的,但是如何通过IIS服务器之前的东西进行过滤(即使它只是虚拟机中的一个虚拟设备)? 也就是说,你设置了一个IPS的规则,特别是丢弃有关该特定问题的stream量?