首页 > 解决方案 > 如何解决 href 标签中的 XSS 漏洞?

问题描述

我刚刚开始使用 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 的攻击?任何资源来解释发生了什么?我试过在没有大量运气的情况下进行研究......

标签: javascriptsecurityxss

解决方案


这听起来像是反射型 XSS的典型案例。


最有可能的是,服务器读取 url 参数,而不转义它们,并直接注入 DOM。然后它将 DOM 提供给用户,从而导致可以将任意脚本注入 DOM 的行为。

解决方案:服务器应在将查询参数注入 DOM 之前对其进行转义/清理。

PS。不太可能,但也可能是客户端(即 JavaScript)提取查询参数并将它们注入 DOM。


推荐阅读