Scripting作用
- 获取页面数据 => 偷取网站任意数据
- 获取cookies => 偷取用户资料
- 劫持前端逻辑 => 偷取用户密码和登录态
- 发送请求 => 欺骗用户
攻击分类
- 反射性 url参数直接注入 (url参数带script语句 再转化成短网址掩盖)
- 存储性 存储到DB后读取时注入
攻击注入点
- html节点内容 => 用户提交的内容 加入script
- html属性
<img src="#{image}"/>
<img src="1" onerror="alert(1)">
- javascript代码
- 富文本
防御
-
浏览器自带防御 (?X-XSS-Protection 浏览器防御没有生效)
-
防御 html节点内容 => 转义 "<" & ">"标签
-
防御html属性(属性可以没有引号,用空格代替, 所以写属性的时候要写引号) => 转义 " & '
-
防御javascript => 1⃣️ 转义 " & ' 2⃣️JSON.stringify
-
防御富文本 => 输入时过滤(输入是一次性操作 输出可能多次)
1⃣️ 白名单 按保留部分标签和属性2⃣️黑名单 过滤标签和属性 容易出现漏 导致安全问题
网友评论