c# - NETSPARKER ENTERPRISE SCAN REPORT 对应用程序进行 XSS 攻击时如何处理内部服务器错误
问题描述
Asp.Net MVC 应用程序当用户尝试在操作方法的查询字符串中提交 HTML 或 JavaScript 代码时,得到内部服务器错误(500)并出现以下异常..
A potentially dangerous Request.QueryString value was detected from the client (userid="'"-->..script..").
我已启用自定义错误模式,以便最终用户为任何 XSS 攻击重定向自定义错误页面。
但是,当我在查询字符串中使用 javascript 代码对操作方法运行 NETSPARKER ENTERPRISE SCAN 时,报告为内部服务器错误 - 服务器以 HTTP 状态 500 响应。
处理此内部服务器问题的最佳做法是什么。
解决方案
建议:自定义错误处理程序
我不确定最佳实践,但我使用的是<customErrors>
将web.config
用户重定向到“不错”的网页。它重定向到的页面可以是纯 HTML、ASPX 等。好处是您可以设置默认的自定义错误页面,以及基于 HTTP 状态代码的个别错误页面。
以下是我web.config
的一个默认错误代码处理程序的片段,加上一个用于 HTTP 500(内部服务器错误)的片段,这是您得到的A potentially dangerous Request.QueryString value was detected
错误:
<customErrors mode="On" redirectMode="ResponseRedirect" defaultRedirect="~/dangitall.html">
<error statusCode="500" redirect="~/dangitall500.html" />
</customErrors>
dangitall.html
是所有错误的标准 HTML 页面。它被覆盖dangitall500.html
,将显示 HTTP 500 错误。这些 HTML 页面的内容可以是您想要的任何内容:警告用户、滥用用户等 :)
以下是有关自定义错误和所有可能的属性设置等的 Microsoft 技术文章的链接:
推荐阅读
- swift - 是否可以查看应用在 iPad 侧载上的 Realm 数据库的内容?
- android - BottomNavigation 从其他屏幕返回后跳转
- r - 当我将他的功能用于我的 R 包时,如何承认某人?
- c++ - 删除存储为邻接表的图中的边
- java - assembly-maven-plug 不生成 jar-with-dependecies 广告没有主清单属性
- c# - 如何在列表中的列表中添加值?
- python - 如何捕获被QWebEngineUrlRequestInterceptor拦截的请求的响应?
- http - Is the cookie dependent on the browser?
- flutter - 用颤振画布在形状上切一个洞
- bash - How to iteratively rename files in Bash