当自己的前端授权完之后,授权服务会跳转回第三方前端,url是 https:xxx?code=xxx;
然后自己的前端拿code去请求自己的登录接口,自己的服务在和授权服务校验,并且登陆;
假如我是攻击者,我是可以拦截得到code的,也可以知道code请求登陆的接口,那其实就可以抓取code去请求一次登录接口了,从而获取用户信息了;
因为code只能用一次,我还可以把用户的请求给拦截调,让我抓取code的请求成功
那这样且不是很不安全??
所以要上 https 嘛!
Https 的流量是经过加密的,攻击者想要拦截到 url 里的 code ,首先要攻破 Https 的加密层。所以也就是说你需要做到 Https 中间人攻击喽。
而浏览器是会检查服务器的证书的,所以说攻击者需要事先把他的根证书装到受害者的电脑。
OAuth 不用去考虑 http 协议本身的安全,因为它是 Https 要考虑的事。
1.4m articles
1.4m replys
5 comments
57.0k users