【发布时间】:2023-04-20 12:14:01
【问题描述】:
我正在运行 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"/>
基于此,我有几个问题
- url中的'ns='netsparker(0x005AAD)是什么意思是不是代表js
- 如何防止这种情况发生
- 我采取的措施很好,或者我需要采取更多措施。
添加几个安全步骤后,netsparket 仍将其标记为 xss。我该如何解决这个问题,使其不被标记
【问题讨论】:
-
试试 search/javascript:alert(1) 会起作用吗?
-
您还可以发布更多信息吗?这个字符串是如何在你的后端处理的?可以发一下代码吗?
-
@shawkyz1,当我将
/search/javascript:alert(1)添加到链接asp.net webform 时,会生成一个默认response Server Error in '/' Application. A potentially dangerous Request.Path value was detected from the client (:).,甚至我正在通过检查它是否不包含任何JS 来清理输入的代码,我也是在此基础上使用 HTML 编码也可以获得额外的保护
标签: asp.net security webforms xss owasp