vue3+ts+Springboot2+shiro+OAuth2.0从0到1项目实战推荐
攻击流程
让我们来看一个针对OAuth2的CSRF攻击的例子。假设有用户UserB,攻击者UserA,第三方Web应用Msl-Admin(它集成了第三方社交账号登录,并且允许用户将社交账号和Msl-Admin中的账号进行绑定),以及OAuth2服务提供者Github。
-
攻击者UserA登录Msl-Admin网站,并且选择绑定自己的Github账号
-
Msl-Admin网站将UserA重定向到Github,由于他之前已经登录过Github,所以Github直接向他显示是否授权Msl-Admin访问的页面
-
UserA在点击”同意授权“之后,截获Github服务器返回的含有
Authorization code
参数的HTTP响应 -
UserA精心伪造一个Web页面,它会触发Msl-Admin网站向Github发起令牌申请的请求,而这个请求中的
Authorization Code
参数正是上一步截获到的code -
UserA将这个Web页面放到互联网上,等待或者诱骗受害者UserB来访问
-
UserB之前登录了Msl-Admin网站,只是没有把自己的账号和其他社交账号绑定起来。在UserB访问了UserA准备的这个Web页面,令牌申请流程在UserB的浏览器里被触发了,M