网站地图    收藏   

主页 > 后端 > 网站安全 >

新浪微博OAuth应用授权强制登录功能可被绕过 -

来源:自学PHP网    时间:2015-04-17 10:15 作者: 阅读:

[导读] 新浪微博的应用授权功能允许应用在执行危险操作时强制要求用户通过微博帐号密码登录,而不是应用授权功能自动读取当前用户的新浪微博登录状态,这可以防止电脑被他人操作带来...

新浪微博的“应用授权”功能允许应用在执行危险操作时强制要求用户通过微博帐号密码登录,而不是“应用授权”功能自动读取当前用户的新浪微博登录状态,这可以防止电脑被他人操作带来的危险。但“强制登录”功能可以通过修改授权页面的地址而被轻松绕过。
 
 
 
例如,点击新浪SAE平台(http://sae.sina.com.cn/)页面上方的登录按钮时,会转到新浪微博的“应用授权”页面。由于用户登录后可以直接修改SAE平台上应用的重要信息,所以在这里SAE平台使用了强制登录功能,即“应用授权”页面不会自动读取当前用户的登录信息(如果有),而是强制要求用户输入帐号和密码。
 
 
 
这里包含了“强制登录”功能的授权页面地址为:https://api.weibo.com/oauth2/authorize?client_id=2857799177&redirect_uri=http%3A%2F%2Fsae.sina.com.cn%2Fssl%2F%3Fm%3Dsso%26a%3Dweibo_callback%26sccb%3Dhttp%253A%252F%252Fsae.sina.com.cn%252F&response_type=code&forcelogin=true,位于最后的“forcelogin=true”就是用来控制“强制登录”功能,删除这个代码再按回车,应用授权就会直接直接读取用户登录信息并通过授权(如果该电脑已经成功的登陆过微博并选择了“下次自动登录”,而很多用户都会勾选) 
漏洞证明:现在电脑上登录微博并选择“下次自动登录”,然后打开“https://api.weibo.com/oauth2/authorize?client_id=2857799177&redirect_uri=http%3A%2F%2Fsae.sina.com.cn%2Fssl%2F%3Fm%3Dsso%26a%3Dweibo_callback%26sccb%3Dhttp%253A%252F%252Fsae.sina.com.cn%252F&response_type=code&forcelogin=true”,可以看到页面依旧要求输入帐号和密码;将“&forcelogin=true”删除并重新加载页面,会发现已经登录上了。
 
 
 
1,正常登录需要强制输入用户名和密码。
 
 
2,删掉后则直接跳转(微博登录的情况下)
 

 
修复方案:

将强制登录的代码做加密处理。
 

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

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

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

添加评论