OAuth2.0 如何防止CSRF攻击

vue3+ts+Springboot2+shiro+OAuth2.0从0到1项目实战推荐

攻击流程

让我们来看一个针对OAuth2的CSRF攻击的例子。假设有用户UserB,攻击者UserA,第三方Web应用Msl-Admin(它集成了第三方社交账号登录,并且允许用户将社交账号和Msl-Admin中的账号进行绑定),以及OAuth2服务提供者Github。

  1. 攻击者UserA登录Msl-Admin网站,并且选择绑定自己的Github账号

  2. Msl-Admin网站将UserA重定向到Github,由于他之前已经登录过Github,所以Github直接向他显示是否授权Msl-Admin访问的页面

  3. UserA在点击”同意授权“之后,截获Github服务器返回的含有Authorization code参数的HTTP响应

  4. UserA精心伪造一个Web页面,它会触发Msl-Admin网站向Github发起令牌申请的请求,而这个请求中的Authorization Code参数正是上一步截获到的code

  5. UserA将这个Web页面放到互联网上,等待或者诱骗受害者UserB来访问

  6. UserB之前登录了Msl-Admin网站,只是没有把自己的账号和其他社交账号绑定起来。在UserB访问了UserA准备的这个Web页面,令牌申请流程在UserB的浏览器里被触发了,M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值