[典型漏洞分享]结合YS业务分析使用oauth协议的风险
结合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协议的风险的更多相关文章
- [典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】
这是在测试YS“本地相册”功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别. 在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS, ...
- [典型漏洞分享]YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】
YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出[高危] 问题描述: YS VTM模块开放对外监听端口(8554和8664),此次使用sulley fuzzing框架对监听在8664端口 ...
- [典型漏洞分享]YS忘记密码机制设计存在缺陷,导致任意用户口令均可被修改【高】
记录了安全测试过程中发现的一些典型的安全问题 YS忘记密码机制存在缺陷,可导致任意用户口令被修改[高] 问题描述: YS网站提供用户密码修改功能,当用户忘记密码时可通过该功能找回密码,但该修改密码的流 ...
- [典型漏洞分享]YS的防暴力破解设计存在缺陷
YS使用的防暴力破解机制存在缺陷,该缺陷可被用于暴力破解其它用户密码[高] 问题描述: YS在用户登录页面设置了验证码机制,当用户输入密码错误次数达到3次时,再次登录需要验证码以防止攻击者进行暴力破解 ...
- [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额
本例中的SQL注入和其它发现的SQL注入的主要区别:1.生成订单接口是一次性的,反复提交无效,因此,此类型的SQL注入比较难通过扫描器发现,需要人工提取和手动测试.2.Insert类型的SQL注入,不 ...
- [典型漏洞分享]一个典型的XSS盲打漏洞可导致全网用户cookie被盗取
偶平时在做安全测试时,一般是以发现问题为主,点到为止,但做安全的同学可能也遇到过这样的问题,当你尝试向开发的同学描述一个漏洞危害怎么怎么样的时候,双方经常会有一种鸡同鸭讲的感觉,甚至他们觉得我们在夸大 ...
- [典型漏洞分享]一个典型的软件漏洞--memcpy导致的缓冲区溢出
YS VTM模块存在缓冲区溢出漏洞,可导致VTM进程异常退出[高] 问题描述: YS VTM模块开放对外监听端口(8554和8664),并从外部接收网络数据,中间模块调用到memcpy函数对网络数据进 ...
- [典型漏洞分享]exported Android content provider引发的隐私泄露问题
YS android手机APP对外开放多余的content provider,可任意增.删.改和查images数据库表格,导致隐私泄露 问题描述: YS android手机APP使用SQLITE数据库 ...
- [典型漏洞分享]上传导致的应用层DOS攻击
YS 视频封面设置功能可上传大量图片,可进行资源消耗型DOS攻击[中] 问题描述: YS允许用户为设备设置封面,后台在处理时允许用户间接可控上传图片的二级路径以及直接可控保存图片的文 ...
随机推荐
- C++之编译器与链接器工作原理
原文来自:http://blog.sina.com.cn/s/blog_5f8817250100i3oz.html 这里并没不是讨论大学课程中所学的<编译原理>,只是写一些我自己对C++编 ...
- Linux 入门记录:十一、Linux 用户基础
一.用户.组 1. 用户 当我们使用 Linux 时,需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行.用户限制使用者或进程可以使用或不可以使用哪些资源. 2. 组 组用来方便地管理用户. ...
- python 基础 习题
1.执行 Python 脚本的两种方式2.简述位.字节的关系 1Byte = 8bits 3.简述 ascii.unicode.utf-8.gbk 的关系 都是字符集,unicode兼容其他3种字符集 ...
- 机器学习方法:回归(二):稀疏与正则约束ridge regression,Lasso
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. "机器学习方法"系列,我本着开放与共享(open and share)的精神撰写,目的是 ...
- hdu 1252(BFS)
Hike on a Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- hdu 1547(BFS)
Bubble Shooter Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- python selenium firefox 添加cookie add_cookie
from selenium import webdriver driver = webdriver.Firefox() driver.get('http://www.baidu.com') cooki ...
- Linux操作命令(三)
本次实验将介绍 Linux 命令中 more.less.head.tail 命令的用法. more less head tail 1.more ·more功能类似cat,cat命令是将整个文件的内容从 ...
- 洛谷P3216 [HNOI2011] 数学作业 [矩阵加速,数论]
题目传送门 数学作业 题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 N和 M,要求计算 Concatenate (1 .. N)Mod M 的值,其中 C ...
- iReport学习笔记
概述 主要介绍如何根据jasper报表和数据生成pdf文档,中文字体问题的解决方案和日期时间的格式化输出. iReport版本:5.2.0 生成pdf文档 maven依赖 <dependency ...