要点
- XSS 攻击
- XSS 防护
一、 XSS攻击
XSS攻击 (Cross-Site Scripting,跨站脚本攻击):黑客在浏览器中,插入一段恶意的 JavaScript 脚本,从而窃取用户的隐私信息或者仿冒用户进行操作。
XSS 攻击种类:反射型 XSS、基于 DOM 的 XSS 以及持久型 XSS
-
反射型XXS:是一种非持久性的攻击,它指的是恶意攻击者往Web页面里插入恶意代码,当用户浏览该网页或点击链接之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的目的
-
基于DOM的XSS:也是一种非持久性的攻击,基于文档对象模型Document Objeet Model,DOM)的一种XSS攻击,JavaScript脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从网页中获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM—based XSS攻击
-
持久型 XSS:持久性XSS是攻击者将代码永久贮存在服务器上,用户访问该页面就会被攻击,例如L留言板存储了XSS于数据库中
二、XSS 防护
- 验证输入 OR 验证输出:一切用户输入皆不可信;
-
2.编码:优先采用编码的方式来完成;就是将部分浏览器识别的关键词进行转换(比如 < 和 >),从而避免浏览器产生误解
- 检测和过滤
编码会对网页实际的展现效果产生影响。比如,原本用户可能想展示一个 1>0,却被编码展示成了 1>0。尽管网络环境安全了,却对用户造成了困扰。
- 检测和过滤
-
黑白名单的规则
-
4.CSP(Content Security Policy,内容安全策略):所谓 CSP,就是在服务端返回的 HTTP header 里面添加一个 Content-Security-Policy 选项,然后定义资源的白名单域名;浏览器就会识别这个字段,并限制对非白名单资源的访问。
网友评论