当检测到应用程序数据库中存在跨站脚本时,将报告此错误。当未经检查的用户输入重新传递给 Web 接口时,会发生跨站脚本漏洞。

在 Web 接口中使用的信息中使用未经检查的用户输入,会导致 XSS 或跨站脚本漏洞。如果该信息显示给系统的其他用户,这些脚本可能被用于操纵用户的会话,将他们定向至其他网站,执行“钓鱼”攻击或运行其他恶意脚本内容。该漏洞在 Web 应用程序的留言板系统上很常见,在这里用户可能将信息发布给其他用户。必须对该内容进行严格屏蔽,以防止将 HTML 或 SCRIPT 标记注入到其他用户所看到的输出中。

通常,可以通过验证所有来自应用程序外部的输入(用户输入、文件输入、系统参数等等)实现对跨站脚本漏洞的预防。验证应包括长度和内容。通常仅需要字母数字字符(即 A-Z、a-z、0-9)。应对任何其他接受的字符进行转义。尤其是对于 XSS 漏洞,用户输入中不得包含任何标记。应该在每个数据源处进行该验证,例如从 HTTP 请求读取每个参数时。应在服务器端进行验证,客户端验证不足以针对 XSS 提供保护,因为用户无需客户端浏览器便能够发送原始的 HTTP 数据包。

它在第 19 行被用于渲染网页。这意味着之前存储在数据库中的信息未经验证便用于渲染 Web 页面,该信息可能包含任意的 HTML 和 JavaScript 内容。为了利用该漏洞,还必须存在数据库注入漏洞。