3

我正在使用 WebForm

我正在对我的网站进行安全测试,但是当我尝试通过 url 传递一个 QueryString 时,例如:

'"-->netsparker(0x00286A) mysite/Error/PageNotFound.aspx?aspxerrorpath=%27%22--%3E%3C/style%3E%3C/script%3E%3Cscript%3Enetsparker(0x0030C5)%3C/script %3E

我在“/”应用程序中出现服务器错误。

从客户端检测到潜在危险的 Request.QueryString 值 从客户端 (>) 检测到潜在危险的 Request.Path 值。

我在 web.config

<httpRuntime  enableVersionHeader="false"/>
<customErrors mode="On"  defaultRedirect="~/Error/GeneralError.aspx">
  <error statusCode="404" redirect="~/Error/PageNotFound.aspx" />
  <error statusCode="403" redirect="~/Error/GeneralError.aspx" />    
  <error statusCode="500" redirect="~/Error/GeneralError.aspx" />      
</customErrors>

    ..................

<pages controlRenderingCompatibilityVersion="4.0" viewStateEncryptionMode="Always">

知道我该如何纠正吗?

4

1 回答 1

1

您的错误是由于违反了 ASP 平台中的内置安全规则。这些规则可防止注入和跨站点脚本攻击。如果您使用的是 MVC,那么有一个方便的 AntiForgeryToken 可以为您解决这个问题。

请查看来自 Scot Hanselman 的帖子

http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx

于 2013-11-15T20:53:56.640 回答