aspxerrorpath = /在url中导致自定义错误页面无效

时间:2013-04-11 21:45:28

标签: asp.net custom-error-pages

我正在努力让网站符合pci标准。

如果你访问(虚拟ip):     HTTP:someipaddress / ZNYTMHXO.ashx

然后用户正确地从我在网络配置中声明的页面中看到html:                               

但是,如果您在查询字符串中使用相同的URL但使用?aspxerrorpath = /:     HTTP:someipaddress / ZNYTMHXO.ashx aspxerrorpath = /

然后页面在'/'应用程序中显示服务器错误。运行时错误。

这是pci扫描失败。

为什么这个变量会导致问题?

抱歉,我应该声明ZNYTMHXO.ashx不存在。当asperrorpath不在查询字符串中时,404重定向有效。

- - - - - - - - UPDATE 只是为了帮助,这是显示的页面的HTML,非常有限。

<!DOCTYPE html>
<html>
    <head>
        <title>Runtime Error</title>
        <meta name="viewport" content="width=device-width" />
        <style>
         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
         p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
         pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
         .marker {font-weight: bold; color: black;text-decoration: none;}
         .version {color: gray;}
         .error {margin-bottom: 10px;}
         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
         @media screen and (max-width: 639px) {
          pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
         }
         @media screen and (max-width: 479px) {
          pre { width: 280px; }
         }
        </style>
    </head>

    <body bgcolor="white">

            <span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>

            <h2> <i>Runtime Error</i> </h2></span>

            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">

            <b> Description: </b>An exception occurred while processing your request. Additionally, another exception occurred while executing the custom error page for the first exception. The request has been terminated.
            <br><br>

    </body>
</html>

1 个答案:

答案 0 :(得分:1)

来自ScottGuthrie http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx的以下博文应该会有所帮助。

他介绍了如何使用IIS Url扫描模块:

  

禁止具有“aspxerrorpath =”查询字符串属性的网址   从他们的方式到ASP.NET应用程序,而将导致   Web服务器返回HTTP错误。添加此规则会阻止   攻击者可以区分不同类型的错误   发生在服务器上 - 这有助于阻止使用此攻击   漏洞。

他正在撰写有关据报道已修补的漏洞的文章。然而有些人报告说这仍然存在问题,因为.Net 4.0(这里提到:Why does the ASP.NET error page return 404 as soon as the aspxerrorpath querystring is present?

您的PCI扫描可能正在尝试利用此相同的漏洞。消除漏洞,你应该通过。

希望有所帮助。