Этот URL-адрес является частью сканирования соответствия pci, и он отмечает очень редкую возвращенную страницу ошибки asp.net, которая на действующем сайте представляет собой код состояния 500 и текст
Ошибка сервера в приложении '/'
Ошибка выполнения
Описание: исключение при обработке вашего запроса. Кроме того, при выполнении настраиваемой страницы ошибки для первого исключения возникло другое исключение. Запрос был прекращен.
Однако при запуске сайта в визуальной студии я получаю 404 и текст
Ошибка сервера в приложении '/'
Ресурс не найден.
Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно.
Запрошенный URL: /WEB-INF./web.xml
Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; Версия ASP.NET: 4.0.30319.18044
Я пробовал игнорировать этот URL-адрес в маршрутизации и сопоставить его с нашим маршрутом 404 /error/not-found
, у нас есть собственные ошибки с перенаправлением по умолчанию на /error/internal
. Я также попытался использовать тег местоположения, чтобы запретить доступ, заблокировать его с помощью фильтрации запросов и использовать обработчик с этим путем для перехвата запроса.
Я попробовал это переписать, также попробовал те же правила блокировки и перенаправления, но я все равно получаю ту же страницу с ошибкой asp.net. Изображение обрезано, но правило ^.*\./.*$
и он соответствует URL-адресу, который я пытаюсь отфильтровать (я также пробовал просто WEB-INF
).
Есть идеи, как я могу получить этот URL-адрес для отображения нашей настраиваемой страницы ошибок?
Добавление relaxedUrlToFileSystemMapping="true"
к узлу httpRuntime в web.config позволил этому URL-адресу обрабатываться ASP.Net MVC, как ожидалось.
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true" />
</system.web>
В IIS по умолчанию подробные сообщения об ошибках отображаются для локальных клиентов, поэтому вы можете просматривать эти сообщения через Visual Studio, но получать ошибку 500 удаленно.
Чтобы внести изменения, в диспетчере IIS щелкните соответствующий сайт, щелкните «Страницы ошибок» в представлении функций и на правой панели выберите «Изменить параметры функций». Затем вы сможете выбрать «настраиваемые страницы ошибок» и настроить все таким образом.
Изменить: в Tomcat также есть уязвимость:
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Найдите это в своем файле web.xml и закомментируйте. Это предотвратит доступ к /WEB-INF./ и доступ к вашим файлам. Обратите внимание, что / WEB-INF / должен выбросить соответствующий 404.