安全类
安全类
- CSRF、XSS
CSRF
- 基本概念和缩写:
跨站请求伪造
(Cross-site request forgery) - 攻击原理:接口存在漏洞、确实登陆过。
- 防御措施:Token验证、Referer(页面来源)验证、隐藏令牌。
攻击原理:用户为网站A的注册用户,通过登录,在浏览器中存储cookie。用户访问B网站,下发页面中有指向网站A漏洞api的链接,引诱用户点击,浏览器自动上传cookie,网站A确认通过,造成CSRF攻击。
XSS
跨域脚本攻击
(cross-size scripting)- 攻击原理(页面注入脚本,不需要登录)。
- 防御措施。
理解XSS的的攻击方式
- 反射型: 发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析XSS代码,整个过过程像一次反射,故叫反射型XSS。
- 存储型 存储型XSS赫恩反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
掌握XSS的防御措施
- 编码
- 对用户输入的数据进行HTML Entity 编码
- 过滤
- 移除用户上传的DOM属性,如onerror等
- 移除用户上传的style节点、script节点、iframe节点等
- 校正
- 避免直接对HTML Entity解码
- 使用DOM Parse转换,校正不配对的DOM标签
区别
XSS: 向页面注入js运行,在js函数体中做攻击。 CSRF:利用你本身的漏洞,帮你自动执行那些接口,依赖用户登录。