web安全指XSS与CSRF

根据《图解http》一书关于web攻击的介绍,攻击的模式有两大类,主动攻击与被动攻击

主动攻击:

主要针对服务器上的资源进行攻击,代表攻击方式有SQL注入与OS命令注入.

被动攻击:

攻击者并不是直接对web应用发起攻击, 而是通过一定的引诱或者圈套策略发起攻击.

 

被动攻击中最常见的两种攻击方式是XSS与CSRF:

xss(cross-site-scripting):跨站脚本攻击

跨站脚本攻击的类型分为两种:

反射型: url里面带有攻击代码

存储型: 从后台读取到的内容里含有攻击代码

防御方式: 纯文本:在提交时转义;富文本: 白名单过滤

 

csrf(Cross-site request forgery):跨站请求伪造

请求伪造的原理,网上有一张比较常见的图片:

原理简而言之就是:

受信任的用户C在A网站登录后没有登出, 产生cookie之后访问了危险网站B,被诱导点击了请求A网站的地址,由于浏览器会自动上传cookie, 所以网站B就达到了模拟用户C进行操作的目的

常见的解决方案分为三种:

1.使用token进行登录验证

token验证是最常用的验证方式,一般情况下由服务端给客户端发送一个用于身份验证的token,客户端再发送请求的时候将token传递回去,如果token验证不通过,那么服务端会拒绝该请求

2.进行refer验证

refer意指来源,验证请求来源的意思是只有本站的请求,服务器才做出响应,不然的话, 就拦截请求.

3.使用隐藏令牌

隐藏令牌的方法本质上与方法一没有太大区别, 只是使用方式不同.

 

二者之间的区别如下:

区别一:

CSRF:需要用户先登录网站A,获取 cookie。XSS:不需要登录。

区别二:(原理的区别)

CSRF:是利用网站A本身的漏洞,去请求网站A的api。XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值