在我公司的年度安全/渗透测试期间,针对aspx页面的tildes和shortname文件出现了以下问题:
Here是关于这个主题的白皮书。它看起来像是一个相对新发现的漏洞(论文发自2012年6月),其中在URL中的正确位置插入波浪号可以让您找到aspx文件的短名称。我正在寻找一种方法来从我们网站的网页请求中删除所有代字号,以防止这种情况发生。
白皮书建议升级到IIS 7,但这是一个无法很快完成的重大项目。我们正在使用C#.NET 4.0 / IIS 6.任何有经验的人都能指出我正确的方向吗?
答案 0 :(得分:1)
您可以将以下代码添加到global.asax:
Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs)
If HttpContext.Current.Request.RawUrl.Contains("~") Then
'do whatever - eg: stip the ~ or redirect to error page
End If
End Sub