客户公司搞安全检查,扫描出来我们之前做的系统有一个高危漏洞:IIS tilde directory enumeration,也就是利用“~”字符猜解暴露短文件/文件夹名,比如,采用这种方式构造URL:http://aaa.com/abc~1/.aspx,根据IIS返回的错误信息,猜测该路径或文件是否存在,具体可参考这篇文章:http://www.freebuf.com/articles/4908.html。
就单纯的解决这个问题来说,微软的URLScan工具是最适合的一个轻量级工具,关键它是免费的,而且安装、配置非常简单。可以从这里下载:http://down.tech.sina.com.cn/page/41877.html。
安装过程就不说了,傻瓜式的。
安装完毕之后,在需要做URL过滤的站点的属性中,添加一个ISAPI筛选器,dll路径位于:C:\WINDOWS\system32\inetsrv\urlscan。该目录下还有一个配置文件:UrlScan.ini,微软的这篇文章里讲的比较详细了:http://support.microsoft.com/kb/326444/zh-cn。
对于“~”字符的过滤就非常简单了,在 [DenyUrlSequences] 节中加一个 ~ 就行了。
搞完收工,扫描通过。
PS:
1、IIS7中已经内置了该功能。
2、如果URL中用到中文字符,则需要将 AllowHighBitCharacters 设置为1。