asp.net标志的漏洞扫描程序跨站点脚本编写

时间:2018-08-28 07:42:29

标签: asp.net security webforms xss owasp

我正在运行netspark漏洞测试,并在url之后标记

  

http://localhost:54923/search/'ns ='netsparker(0x005AAD)

我无法弄清'ns='netsparker(0x005AAD)是什么部分或如何解决此问题,因此我正在清理输入/search/searchkeyword以使用户也对输入进行编码

用户在搜索输入框中输入关键字,然后使用搜索关键字http://localhost:54923/search/apple将页面重定向到搜索页面

1>它不包含JS脚本

 if (filterInput.Contains("onmouseover") || filterInput.Contains("script") || filterInput.Contains("</style>") || filterInput.Contains("</script>") || filterInput.Contains("<") || filterInput.Contains("%3c") || filterInput.Contains("?") || filterInput.Contains("%3f") || filterInput.Contains("alert") )
            {
                search = System.Web.HttpUtility.HtmlEncode(filterInput);
                Response.Write("Invalid Search");
                Response.End();
            }

2>我将以下行添加到web.config中以使其更加安全

<httpRuntime targetFramework="4.5" requestValidationMode="2.0" enable="true"  encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

基于此,我有几个问题

  1. URL中的'ns ='netsparker(0x005AAD)是什么,它表示js吗?
  2. 我该如何预防
  3. 我采取的措施很好,或者我需要做更多的事情。

添加一些安全步骤后,netsparket仍将其标记为xss。我该如何解决这个问题,使其不会被标记

1 个答案:

答案 0 :(得分:1)

基本上,当前的代码清理基于黑名单,这是一种不良做法

在这种情况下,您无需清理,而编码输入的输入

同样基于黑名单的ASP.Net输入验证也不是安全