URL重写以删除波浪号

时间:2012-11-26 11:56:35

标签: c# asp.net .net iis

在我公司的年度安全/渗透测试期间,针对aspx页面的tildes和shortname文件出现了以下问题:

Here是关于这个主题的白皮书。它看起来像是一个相对新发现的漏洞(论文发自2012年6月),其中在URL中的正确位置插入波浪号可以让您找到aspx文件的短名称。我正在寻找一种方法来从我们网站的网页请求中删除所有代字号,以防止这种情况发生。

白皮书建议升级到IIS 7,但这是一个无法很快完成的重大项目。我们正在使用C#.NET 4.0 / IIS 6.任何有经验的人都能指出我正确的方向吗?

1 个答案:

答案 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