XSS跨站脚本攻击本质上是一种html注入,用户的数据被当做代码的一部分执行,从而混淆了原有语义,产生了新的语义。
主要有三种类型的xss攻击
- 反射型
通过将用户的数据反射给浏览器,往往通过制作恶意链接,诱使用户触发来实现。 - 存储型
通过将恶意脚本存储到服务器端,让脚本在用户的浏览器执行,从而产生破坏 - Dom型
通过修改页面的Dom节点形成的xss
Xss的破坏力
- 劫持Cookie
- 读取篡改数据
Xss构造技巧
- 利用字符编码
- 利用截断
Xss防御技巧
- 设置cookie的httponly放置Cookie劫持
- 在服务器端做输入检查
2.1 对普通输入通过xss Filter进行检查
2.2 对富文本通过htmlecnode进行转义存储
成熟框架
esapi