跨站脚本 ( XSS ) 是 Web 应用程序中的一种安全漏洞,攻击者通过某种用户输入(如输入框、URL 参数、HTML 标头等)注入恶意脚本。Web 应用程序信息的机密性、完整性和可用性。反映并存储了两个主要的跨站脚本缺陷:
反射型 XSS
来自用户请求的恶意内容显示给用户,或者在服务器响应后写入页面。例如,在下一个屏幕截图中,信用卡号字段很容易受到攻击。编号后面有一个要注入的脚本:
<script>alert('my javascript here')</script>
![](https://i-blog.csdnimg.cn/blog_migrate/eb2c93e7a8971794900b8fc23447d299.png)
单击购买按钮时,将显示警报窗口:
Java漏洞的补丁
当你有一个 String RequestParam 时,避免在没有清理的情况下处理它:
为此,OWASP Java 编码器有一个名为 forHtml 的方法:
现在,该字段打印为文本,但未执行:
存储型 XSS
有效负载是持久的。例如,在下一个屏幕截图中,您可以看到添加了一个脚本作为注释。加载页面时,脚本将作为代码的一部分执行并打印。
Java漏洞的补丁
解决方案是在处理 RequestBody 之前对其进行清理:
现在,注释打印为文本,但不执行: