【Java代码审计】XSS篇
1.XSS漏洞概述
XSS 漏洞是指攻击者在网页中嵌入客户端脚本(通常是 JavaScript 编写的恶意代码),进而执行其植入代码的漏洞。若 Web 应用未对用户可直接或间接控制的“输入”与“输出”参数进行关键字过滤或转义处理,则很可能存在跨站脚本漏洞。
从 Web 应用上来看,攻击者可以控制的参数包括 URL 参数、post 提交的表单数据以及搜索框提交的搜索关键字,一般对该漏洞的审计策略如下
- 收集输入、输出点
- 查看输入、输出点的上下文环境。
- 判断 Web 应用是否对输入、输出做了防御工作(如过滤、扰乱以及编码)
2.反射型 XSS 漏洞
反射型 XSS 漏洞通过外部输入,然后直接在浏览器端触发
一个简单的 Spring MVC 控制器,接受用户输入并将其返回到前端页面:
@Controller