这个url是pci符合性扫描的一部分,它标记着返回的非常稀疏的asp.net错误页面,在实况站点上是一个500状态码和文本
“/”应用程序中的服务器错误。
运行时错误
说明:处理您的请求时发生exception。 此外,执行第一个exception的自定义错误页面时发生另一个exception。 该请求已被终止。
当在Visual Studio中运行网站时,我得到了一个404和文本
“/”应用程序中的服务器错误。
无法find该资源。
说明: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
,我们有默认的redirect到/error/internal
自定义错误。 我也尝试使用位置标记来拒绝访问,使用请求筛选来阻止它,并使用具有该path的处理程序来捕获请求。
我试过这个重写,也尝试了相同的规则阻止和redirect,但我仍然得到相同的asp.net错误页面。 图像中断,但规则是^.*\./.*$
,它匹配我试图过滤的URL(我也尝试过简单的WEB-INF
)。
任何想法如何我可以得到这个url来显示我们的自定义错误页面?
向web.config中的httpRuntime节点添加relaxedUrlToFileSystemMapping="true"
,可以按照预期的方式通过ASP.Net MVC处理该URL。
<system.web> <httpRuntime relaxedUrlToFileSystemMapping="true" /> </system.web>
在IIS中,默认情况下向本地客户端显示详细的错误消息,这就是为什么您可以通过Visual Studio看到这些消息,但远程获取500错误。
要更改,请在IISpipe理器中单击受影响的站点,在function视图中单击“错误页面”,然后在右侧窗格中select“编辑function设置”。 然后,您可以select“自定义错误页面”并按照这种方式进行configuration。
编辑:Tomcat也有一个漏洞:
<servlet-mapping> <servlet-name>FileServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
在你的web.xml文件中find并注释掉它。 这将阻止某人访问/WEB-INF./并访问您的文件。 注意/ WEB-INF /应该折腾一个合适的404。