基本分类
存储型XSS
反射型XSS
DOM型XSS
存储型XSS
黑客在前端写入XSS到数据库–>用户进行web访问–>向服务器请求数据–>返回带XSS脚本的数据–>前端出发XSS
注意事项:一般通过将携带XSS的数据写入到数据库中,比如留言功能中构造对应的XSS,或者通过其他的形式写入XSS内容到数据库中
例:
<img src=a onerror=alert(/XSS/)>
反射型XSS
黑客通过邮件或聊天工具给目标发送携带XSS脚本的链接–>用户访问链接–>浏览器请求数据–>服务器将携带XSS注入的数据写入到相应页面返回数据–>浏览器渲染返回的数据触发对应的XSS
注意事项:主要通过构造XSS链接
例:
localhost:8088/test.php?name=testxss<img src=a onerror=alert(/XSS/)>
DOM型XSS
用户主动访问携带XSS的链接–>通过前端将js脚本写入到DOM–>前端渲染触发XSS
注意事项:主要也是通过构造XSS链接,但是构造的是在#号后面,所以不会返回到数据库
例:
localhost:8088/test.html#Filedxss<img src=a οnerrοr=alert(/XSS/)>
# 登录失败是可能会产生 后面的Filed提示就可以构造DOM XSS注入
总结
XSS类型 | 存储型 | 反射型 | DOM型 |
触发过程 | 1、黑客注入 2、用户访问 | 用户访问带XSS注入的链接 | 用户访问带XSS注入的链接 |
数据存储 | 数据库 | URL | URL |
输出工具 | 后端WEB | 后端WEB | 前端JS |
输出位置 | HTTP响应 | HTTP响应 | 动态构造的DOM |