Oauth认证漏洞
举个例子:我用微信登录了一个技术论坛,这个论坛会跳到微信的授权页面,并申请访问我的账户信息(昵称、头像等),然后提示我是否允许授权,同意后,微信会生成一个授权码(Code)给网站,网站用授权码向微信换取访问令牌(Token),再通过令牌获取授权的信息,然后用它来创建或绑定论坛账户。
分类:授权码授权、隐式授权等
思路一:某些网站要求扫码登陆,但不需要手机验证点击确认,是否可生成一个恶意的二维码钓鱼页面。
授权码授权
第一步:客户端向授权服务器发送授权请求

client_id表示客户端在授权服务器的ID;redirect_uri表示授权完成后,授权服务器回调客户端的地址;response_type表示授权类型;scope表示客户端要访问的用户数据是哪些类型;state表示随机值,防止csrf。
第二步:用户扫描二维码登录后,会跳到授权页面,显示客户端需要请求哪些信息,并提示是否允许授权。

第三步:允许授权后,重定向到回调地址,并通过URL片段返回访问令牌。

思路二:有些网站没有设置随机值,可进行csrf攻击。让受害者网站绑定攻击者的账号。
思路三:将redirect_uri的地址改为恶意服务器的地址,诱使管理员访问,从而接收code。
思路四:如果授权服务器未校验授权码对应的用户初始授权scope与当前请求中scope是否一致,则可以在请求字段scope中添加更多的值。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mylog!
