从客户端检测到潜在危险的Request.QueryString值

时间:2013-11-15 20:14:44

标签: c# asp.net .net query-string custom-error-handling

我正在使用WebForm

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

  

“' - > netsparker(0x00286A)   mysite的/错误/ PageNotFound.aspx aspxerrorpath =%27%22 - ?%3E%3C /风格%3E%3C /脚本%3E%3Cscript%3Enetsparker(0x0030C5)%3C /脚本%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">

我知道如何纠正这个问题?

1 个答案:

答案 0 :(得分:1)

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

请查看Scot Hanselman的帖子

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