我正在运行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"/>
基于此,我有几个问题
添加几个安全步骤后,netsparket仍将其标记为xss。我怎么能解决这个问题,以免它被标记
基本上,当前的代码清理基于黑名单,这是一种不好的做法。
在这种特定情况下,您不需要清理,而是对输入的输入进行编码。
ASP.Net输入验证也基于黑名单,这也是不安全的。