结合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),如下图所示:

4、  可以看到腾讯服务器返回了用户的access_token,并携带该token重定向到了YS BBS,如下图:

5、  此时,如果指定跳转的YS BBS URL存在XSS漏洞,当漏洞被触发时,JS代码可以读取URL参数值,那么通过BBS就可能大量获取用户access_token,从而导致用户信息泄漏。

问题扩展:

该漏洞的关键还是需要跳转的二级域名存在XSS漏洞,就目前YS业务来讲,BBS的安全没有专人负责,并且使用的是第三方站点框架,容易出现公开的漏洞,如果不及时升级维护就可能出现上述的攻击。

解决建议:

在向腾讯申请QQ登录权限时锁定二级域名

[典型漏洞分享]结合YS业务分析使用oauth协议的风险的更多相关文章

  1. [典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】

    这是在测试YS“本地相册”功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别. 在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS, ...

  2. [典型漏洞分享]YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】

    YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出[高危] 问题描述: YS VTM模块开放对外监听端口(8554和8664),此次使用sulley fuzzing框架对监听在8664端口 ...

  3. [典型漏洞分享]YS忘记密码机制设计存在缺陷,导致任意用户口令均可被修改【高】

    记录了安全测试过程中发现的一些典型的安全问题 YS忘记密码机制存在缺陷,可导致任意用户口令被修改[高] 问题描述: YS网站提供用户密码修改功能,当用户忘记密码时可通过该功能找回密码,但该修改密码的流 ...

  4. [典型漏洞分享]YS的防暴力破解设计存在缺陷

    YS使用的防暴力破解机制存在缺陷,该缺陷可被用于暴力破解其它用户密码[高] 问题描述: YS在用户登录页面设置了验证码机制,当用户输入密码错误次数达到3次时,再次登录需要验证码以防止攻击者进行暴力破解 ...

  5. [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额

    本例中的SQL注入和其它发现的SQL注入的主要区别:1.生成订单接口是一次性的,反复提交无效,因此,此类型的SQL注入比较难通过扫描器发现,需要人工提取和手动测试.2.Insert类型的SQL注入,不 ...

  6. [典型漏洞分享]一个典型的XSS盲打漏洞可导致全网用户cookie被盗取

    偶平时在做安全测试时,一般是以发现问题为主,点到为止,但做安全的同学可能也遇到过这样的问题,当你尝试向开发的同学描述一个漏洞危害怎么怎么样的时候,双方经常会有一种鸡同鸭讲的感觉,甚至他们觉得我们在夸大 ...

  7. [典型漏洞分享]一个典型的软件漏洞--memcpy导致的缓冲区溢出

    YS VTM模块存在缓冲区溢出漏洞,可导致VTM进程异常退出[高] 问题描述: YS VTM模块开放对外监听端口(8554和8664),并从外部接收网络数据,中间模块调用到memcpy函数对网络数据进 ...

  8. [典型漏洞分享]exported Android content provider引发的隐私泄露问题

    YS android手机APP对外开放多余的content provider,可任意增.删.改和查images数据库表格,导致隐私泄露 问题描述: YS android手机APP使用SQLITE数据库 ...

  9. [典型漏洞分享]上传导致的应用层DOS攻击

    YS 视频封面设置功能可上传大量图片,可进行资源消耗型DOS攻击[中] 问题描述:          YS允许用户为设备设置封面,后台在处理时允许用户间接可控上传图片的二级路径以及直接可控保存图片的文 ...

随机推荐

  1. System V共享内存介绍

    (一)简单概念 共享内存作为一种进程间通信的方式,其相较于其他进程间通信方式而言最大的优点就是数据传输速率快.其内部实现的方式采用了Linux进程地址空间中的mmap文件映射区,将文件内容直接映射到各 ...

  2. 【设计模式】享元模式(Flyweight)

    摘要: 1.本文将详细介绍享元模式的原理和实际代码中特别是Android系统代码中的应用. 纲要: 1. 引入享元模式 2. 享元模式的概念及优缺点介绍 3. 享元模式在Android源码中的应用 1 ...

  3. (二十)ubuntu的recovery mode解决用户一些实际问题

    遇到的问题如下: 1.在当前用户下使用sudo来直接修改password等几个文件,一旦修改了passwd,用户名发生了变化,其他的用户组.密码等却没有对应的配置,就再进不了该用户了. 2.忘记用户密 ...

  4. 压缩LDF档

    --压缩LDF档 USE VoucherServer; GO -- Truncate the log by changing the database recovery model to SIMPLE ...

  5. 关于:TypeConverter 无法从 System.String 转换

    TypeConverter 无法从 System.String 转换 处理方法: 1: [DX Support Team: The issue was resolved by its Owner] i ...

  6. 使用JMX工具远程监控tomcat配置

    使用JMX工具远程监控tomcat,在tomcat启动时添加配置参数: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.po ...

  7. Oralce Spatial

    1.建立数据库连接 create public database link ytlink connect to hightop identified by hightop using '(DESCRI ...

  8. js判断文件格式及大小

      //判断照片大小 function getPhotoSize(obj){     photoExt=obj.value.substr(obj.value.lastIndexOf(".&q ...

  9. thinkphp模板常用的方法

    thinkphp模板我是看了3.2的文档,对里面的东西过了一遍,然后在写到需要用到模板的东西的时候就有印象,有的能直接回顾,但是有的就可能只知道有这个东西,但是不知道怎么用,所以就重新查手册,这个的话 ...

  10. ueditor在QQ浏览器或者IE浏览器中无法加载

    因为IE浏览器有兼容问题,打开网址,浏览器不一定以最新的文档模式加载.按F12查看 在你网址的head标签中加入:<meta http-equiv="x-ua-compatible&q ...