我刚刚开始使用Web应用程序扫描程序来查看Web应用程序具有哪些漏洞,并且正在获得在href标签中显示xss漏洞的结果。
例如,可以将警报脚本推送到以下URL的href中:
<a href="/contextroot/servlet.do?"><script>alert(81)</script>page=1">2</a>
这只是一个位置,用户可以在该位置之间在不同结果的表之间进行分页,并通过Java TagSupport将其动态添加到jsp。
我尝试用JavaScript调用替换该href位置,但该漏洞仍然存在。我开始怀疑这里的xss我缺少一些基本知识。有没有一种方法可以格式化此标签,使其不容易受到xss的攻击?有什么资源可以解释发生了什么吗?我试过没有很多运气的研究...
答案 0 :(得分:0)
这听起来像是Reflected XSS的典型情况。
服务器很可能在不转义的情况下读取url参数并注入 直接进入DOM。然后它将DOM服务器提供给用户,从而导致可以将任意脚本注入DOM的行为。
解决方案:服务器应先将查询参数转义/清除,然后再将其注入DOM。
PS。可能性很小,但也可能是客户端(即JavaScript)提取查询参数并将其注入DOM。