我正在运行netspark漏洞测试,它标记了以下网址
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"/>
基于此,我几乎没有问题
- url中的'ns='netsparker(0x005AAD(是什么,它代表js
- 我怎样才能防止这种情况
- 我采取的措施很好,或者我需要做更多。
在添加了一些安全步骤后,netsparket仍然将其标记为xss。我该如何解决这个问题,使其不被标记
基本上,当前的代码清理是基于黑名单的,这是一种不好的做法。
在这种特定情况下,您不需要清理,而是需要对传入的输入进行编码。
ASP.Net 输入验证也基于黑名单,这也是不安全的。