[典型漏洞分享]结合YS业务分析使用oauth协议的风险
2014-12-26 18:34
369 查看
结合YS业务分析oauth协议风险
问题描述:
YS 使用QQ互联的openAPI实现QQ登录YS的功能,使用该功能需要在腾讯注册登录时的回调地址,根据oauth协议,用户的code或者access_token将被发送到这个回调地址,而目前出于域名变动等各种因素考虑,目前使用的是通配符域名进行注册,这可能存在用户的access_token被盗取的风险。一旦获取用户QQ的access_token就可以通过openAPI获取此QQ的相关信息。关于oauth协议和开发细节请参考:http://wiki.connect.qq.com/
测试步骤:
1、 在YS登录页选择“QQ登录”。2、 在QQ登录页面输入用户名和密码进行认证。
3、 使用burp拦截http://graph.qq.com/oauth2.0/authorize接口请求,将response_type参数的值从code改为token,将回调地址二级域名从test3.YS.com改为bbs.YS.com,最后再记住该请求中的client_id的值(即申请QQ登录时腾讯分配的appid),如下图所示:
![](http://images.cnitblog.com/blog/700916/201412/261833292653961.jpg)
4、 可以看到腾讯服务器返回了用户的access_token,并携带该token重定向到了YS BBS,如下图:
![](http://images.cnitblog.com/blog/700916/201412/261833298741077.jpg)
5、 此时,如果指定跳转的YS BBS URL存在XSS漏洞,当漏洞被触发时,JS代码可以读取URL参数值,那么通过BBS就可能大量获取用户access_token,从而导致用户信息泄漏。
问题扩展:
该漏洞的关键还是需要跳转的二级域名存在XSS漏洞,就目前YS业务来讲,BBS的安全没有专人负责,并且使用的是第三方站点框架,容易出现公开的漏洞,如果不及时升级维护就可能出现上述的攻击。解决建议:
在向腾讯申请QQ登录权限时锁定二级域名相关文章推荐
- OAuth认证协议原理分析及使用方法
- 转载 OAuth认证协议原理分析及使用方法
- [典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】
- 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!
- Oauth认证协议原理分析及使用方法
- OAuth认证协议原理分析及使用方法
- [典型漏洞分享]业务逻辑导致的隐私泄露1
- [典型漏洞分享]YS的防暴力破解设计存在缺陷
- 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!
- OAuth认证协议原理分析及使用方法
- OAuth认证协议原理分析及使用方法
- OAuth认证协议原理分析及使用方法
- OAuth认证协议原理分析及使用方法
- [典型漏洞分享]业务逻辑导致的隐私泄露2
- [转]OAuth认证协议原理分析及使用方法
- OAuth认证协议原理分析及使用方法
- OAuth认证协议原理分析及使用方法
- Oauth认证协议原理分析及使用方法
- 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!
- [典型漏洞分享]YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】