修复IIS代字号漏洞


9

我们的IIS服务器之一(IIS 7.5,Server 2008 R2)显然很容易受到波浪号短文件名公开问题的影响。

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

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

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

在此处输入图片说明

  • 为波浪号ANYWHERE添加了过滤规则:

在此处输入图片说明

  • 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! >>>

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

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

在此处输入图片说明

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

在此处输入图片说明

EDIT2:验证没有剩余的8.3文件名:

在此处输入图片说明


仔细检查目录中是否有8.3个名称的快速方法是dir /x。您的站点可能具有指向仍包含自动生成的8.3名称的目录的符号链接。
布赖恩

恐怕没有任何8.3文件名的迹象:(
KenD

解决此问题的另一个常见方法是安装.NET 4.0(此漏洞不容易受到此漏洞的攻击)。你有尝试过吗?
HopelessN00b 2015年

已安装.Net 4,并且服务器上的所有应用程序池均已设置为可使用.NET Framework v4.0.30319-请参见上方编辑中的屏幕截图。
KenD

4
哇。可能在这里抓住了稻草,但是您确定所使用的漏洞扫描程序可靠吗?尝试使用其他工具,或尝试手动执行攻击,然后看看您看到的内容。
HopelessN00b 2015年

Answers:


6

尝试使用扫描现有的短文件名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>

我问过开发人员。通过Twitter关于它,他回答:

对于极少需要扩展的情况。但是,最近这仅引起了更多的问题!我现在将其删除。

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

所以,看来您现在很安全:)


害怕没有变化-在我的原始帖子中看到“ EDIT2” :(
KenD

1
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>
beatcracker

有趣-尽管回头看一下修订版,“双重逗号”已经存在了一段时间。删除它意味着测试现在可以正常运行了……
KenD

哈,您很安全,请参阅更新!
Beatcracker

所有的工作,我们一直都很安全:)感谢您的帮助并与开发人员联系!
KenD

1

还“注意:对NtfsDisable8dot3NameCreation注册表项的更改仅影响更改后创建的文件,文件夹和配置文件。已经存在的文件不受影响。”

注意:尽管在Windows下禁用8.3文件名创建可以提高文件性能,但是某些应用程序(16位,32位或64位)可能无法找到文件名较长的文件和目录。


0

不幸的是,真正解决此问题的唯一方法是一组令人讨厌的回转,具体取决于您的Windows版本,从而无法生成8.3名称。

对于您的Windows版本:

要在所有NTFS分区上禁用8.3名称创建,请在提升的命令提示符下键入fsutil.exe behavior set set8dot3 1,然后按Enter。

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


您链接的文章说了如何禁用8.3文件名创建,而不是为什么它可以解决问题。
Michael Hampton

我已经禁用了8.3文件名,并且dir /x在网站目录中未显示任何短文件名
KenD

肯,这是您以前使用的方法吗?
戴夫·霍兰

是的 我还看到了对注册表设置的引用,但是该fsutil命令似乎只是为我设置了该注册表项。
KenD

0

我不确定脚本的工作方式以及它的网络设置方式,但是如何通过IIS服务器前面的内容(即使它只是虚拟机中的虚拟设备)进行过滤呢?也就是说,您使用一条专门丢弃与该特定问题有关的流量的规则来设置IPS吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.