aspxerrorpath=/ в URL-адресе приводит к тому, что пользовательская страница ошибок не работает

Я пытаюсь получить сайт, совместимый с PCI.

Если вы посетите (фиктивный IP-адрес): http:someipaddress/ZNYTMHXO.ashx

Тогда пользователь правильно видит html со страницы, которую я указал в своей веб-конфигурации:

Однако, если вы используете тот же URL-адрес, но с ?aspxerrorpath=/ в строке запроса: http:someipaddress/ZNYTMHXO.ashx?aspxerrorpath=/

Затем на странице отображается ошибка сервера в приложении «/». ошибка выполнения.

Это провал сканирования pci.

Почему эта переменная вызывает проблему?

Извините, я должен заявить, что ZNYTMHXO.ashx не существует. Перенаправление 404 работает, когда asperrorpath отсутствует в строке запроса.

-----ОБНОВЛЕНИЕ----- Просто чтобы помочь, это 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>

person Simon    schedule 11.04.2013    source источник
comment
Вместе с сообщением Server Error in '/' Application должна быть дополнительная информация -- возможно, Description и/или Compiler Error Message или Source Error?   -  person David Tansey    schedule 12.04.2013
comment
Просто добавил html к приведенному выше...   -  person Simon    schedule 12.04.2013
comment
Ключ к пониманию вывода страницы ошибок находится в файле Description. Пишет, что при обработке вашего запроса произошло исключение. Кроме того, при выполнении пользовательской страницы ошибки для первого исключения возникло еще одно исключение. Запрос был прерван. Это не очень забавный сценарий, который возникает, когда ваша обработка ошибок сама вызывает ошибку во время обработки другой ошибки. Однако проверьте мой опубликованный ответ - я думаю, что именно здесь вы найдете то, что вам нужно исправить, чтобы пройти тест на соответствие PCI.   -  person David Tansey    schedule 12.04.2013


Ответы (1)


Следующая запись в блоге Скотта Гатри http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx должно быть полезно.

Он описывает, как использовать модуль IIS Url Scan для:

запрещает URL-адресам с атрибутом строки запроса «aspxerrorpath=» переходить к приложениям ASP.NET и вместо этого заставит веб-сервер возвращать ошибку HTTP. Добавление этого правила не позволяет злоумышленникам различать разные типы ошибок, возникающих на сервере, что помогает блокировать атаки с использованием этой уязвимости.

Он писал об уязвимости, которая, как сообщалось, была исправлена. Однако некоторые сообщают, что это все еще проблематично даже в .Net 4.0 (упоминается здесь: Почему страница ошибки ASP.NET возвращает 404, как только присутствует строка запроса aspxerrorpath?)

Ваше сканирование PCI, вероятно, пытается использовать эту же уязвимость. Устраните уязвимость, и вы должны пройти.

Надеюсь, это поможет.

person David Tansey    schedule 11.04.2013