【安全】前端安全
概述:CSRF XSS 基本概念和缩写 攻击原理 防御措施
CSRF
通常称为跨站请求伪造,英文名 Cross-site request forgery 缩写 CSRF
CSRF 攻击原理:
1、身份认证过程:网站A 的注册用户登录网站后,网站 A 核查用户身份,核查通过之后下发 cookie
2、用户访问网站 B,网站 B 中存在一个引诱点击(链接),这个链接指向网站 A 的 API 接口(存在漏洞),当用户点击引诱链接,这个点击就访问了A 网站的链接,浏览器会自动上传 cookie,网站 A 拿到 cookie 之后,对身份进行重新确认,认定是合法用户,然后执行这个接口的动作(如新浪CSRF攻击,添加关注添加粉丝)。
CSRF 攻击的达成需要满足两个条件:
1、用户在注册网站登录过 2、网站中某个接口存在漏洞
CSRF 防御措施
1、加 Token 验证:手动上传 Token(服务器自动向本地存储一个token,访问接口时带 Token 才能通过认证)
2、Referer 验证:页面来源认证,判断请求是否来自一个允许的源
3、隐藏令牌:类似 Token,但隐藏令牌的方式不同,比如令牌放置在 HTTP 请求头中
XSS
cross-site scripting 跨域脚本攻击
攻击原理:不需要身份认证,向页面注入 js 脚本
防御措施:对HTML标签及一些特殊字符进行过滤
区别:XSS 向页面中注入JS运行,在JS函数体里注入攻击者地执行的事件。CSRF 依赖于用户登录网站