XSS又叫跨站脚本攻击 , 攻击的对象是客户端
原理
攻击者在Web页面插入恶意JS代码,用户浏览网页的时候,JS代码会被执行,从而攻击正常用户
危害
比如通过cookie获取管理员权限 ; 网页挂马记录键盘输入,获取隐私信息
触发点
XSS漏洞常发生在评论,留言,以及输入框等功能
方式
XSS攻击可分为反射型 , 存储型 和 DOM型
反射型需要诱导用户点击恶意链接 , 只能生效一次
存储型的JS攻击脚本会被保存到数据库中 , 每次访问都会执行攻击
DOM型本质上也是反射型的一种 , 通过修改dom树结构来执行攻击 , 也是只能执行一次
整个HTML文档是一个文档节点(document),类似树干
每个HTML标签是元素节点(element),类似树枝
标签的每个属性使属性节点(attribute),类似树叶
防御
XSS的防御分为两个方面 过滤 和 转译
过滤用户输入的参数 , 包括 双写,大小写,长度,编码
或者使用函数转译成HTML实体以后 , 再拼接到前端页面