修复 IIS 波浪号漏洞

Ken*_*enD 9 security iis

我们的其中一台 IIS 服务器(IIS 7.5、Server 2008 R2)显然“容易受到”波浪号短文件名泄露问题的影响。

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

  • 禁用 8.3 文件名,停止 Web 服务器,重新创建站点目录并再次启动服务

  • 为 URL 中的波浪号添加了过滤规则:

在此处输入图片说明

  • 为任何地方的波浪号添加了过滤规则:

在此处输入图片说明

  • IISRESET 一些时间

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

.. 但是,我仍然无法让我的网站通过测试

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! >>>
Run Code Online (Sandbox Code Playgroud)

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

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

在此处输入图片说明

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

在此处输入图片说明

EDIT2:验证没有 8.3 文件名:

在此处输入图片说明

bea*_*ker 7

尝试使用以下命令扫描现有的短文件名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>
Run Code Online (Sandbox Code Playgroud)

我问过开发。通过 Twitter 关于它,他回应道:

对于不需要扩展的极少数情况。但是,最近这引起了更多的问题!我现在就把它去掉。

我从配置文件中删除了它。这是第二次投诉,因此现在是进行此更改的正确时间。

所以,你现在似乎很安全:)