当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0101053

漏洞标题:悦动圈某逻辑漏洞

相关厂商:51yund.com

漏洞作者: Ton7BrEak

提交时间:2015-03-16 11:50

修复时间:2015-04-30 18:48

公开时间:2015-04-30 18:48

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-16: 细节已通知厂商并且等待厂商处理中
2015-03-16: 厂商已经确认,细节仅向厂商公开
2015-03-26: 细节向核心白帽子及相关领域专家公开
2015-04-05: 细节向普通白帽子公开
2015-04-15: 细节向实习白帽子公开
2015-04-30: 细节向公众公开

简要描述:

为了证明可以刷钱,刷了一晚上的钱,哈哈~可以买个iphone 8了啊!!
由于是在wooyun提交的第二家厂商,感情还是很深的。斌哥很不错~

详细说明:

001x背景

今天更新了一下悦动圈安卓版APP。之前只是扫描了下接口,那么这次我就用自己手机注册吧~接收短信时,发现是4位验证码,问题大了。那么就可以“爆破”任意注册和任意找回密码了?说干就干~


002x准备工作
手机连接WIFI,修改代理,打开神器burp。
003x
任意注册一个账号13177777777,点击发送短信后,输入任意4位验证码,抓包开始爆破注册

Screenshot_2015-03-12-20-59-52.jpeg


001.jpg


然后设置验证码部分为playload~
成功和失败的截图如下,返回的长度不同,乱码部分为中文 提示验证码错误

002.jpg


003.jpg


004x拿到正确的验证码,直接在burp中更换为正确的验证码,进入下一步。这里显示注册成功~标记部分为unicode编码~

004.jpg


005x可以通过这个办法注册账号,那么就可以修改密码了~整个修改密码的过程和上面的一样就不再赘述。
其实整个爆破过程不算顺利,在公司爆破2000次左右的时候就会被拉黑,等待好久才回再连上。
结束语:验证码4位给了很多爆破的机会,可以通过手机找回密码,但是整个app中用户的电话是不会显示的(至少我没找到那里显示了,除非数据库?)
真以为这里就结束了?好戏在后面~
001x新的开始
在注册的时候,发现可以填写邀请码,而且有红包。经过尝试邀请码为用户ID,那么批量注册不就可以刷钱了吗?但是爆破注册成本太高了。

yaoqingma.jpeg


002x换思路
在测试中,我试了下能否越权操作。发现只需要修改user_id,即可返回200。通过修改用户名称证实了这一点。全站通过修改user_id即可越权操作。正面图如下,注册了几个号这里修改此ID的用户名为 “悦动圈跑步”,放两张图。user_id不同~

Screenshot_2015-03-12-22-21-38.jpeg


Screenshot_2015-03-12-22-22-40.jpeg


这个图是burp抓包时的截图

009.jpg


003x思路拓展
不想做爆破注册,既然有越权操作的user_id,那么任意修改他人密码和个人资料,回复他人信息等都再话下。这里只需要修改用户ID和MD5一次加密的密码即可重置任意人的密码~

POST /sport/modify_user_info?user_id=用户ID&passwd=MD5一次加密&ver=2.6.1.2&client_user_id=用户ID&channel=channel_office&sign=HeD4p3PzMrrguka%2FGT6bdeiuSF4%3D HTTP/1.1
Accept: application/json
Connection: Close
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.4.2; PE-UL00 Build/HuaweiPE-UL00)
Host: api.51yund.com
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 0


004x思路延伸
既然如此,在注册的最后一步抓个包,修改不同注册手机直接post,返回正常。已经达到批量注册,外加上邀请码了~可以开心的刷钱了~

POST /sport/register?phone=注册手机&passwd=MD5一次加密&nick=用户昵称&sex=0&device_id=865585021358696&invite_user_id=邀请码(其实就是用户id)&ver=2.6.1.2&phone_type=手机型号&sdk=19&os=4.4.2&source=android_app&client_user_id=XXXXX&channel=channel_office&sign=nqp8yx279b4sv%2BZtPt%2Fq%2Fzg3H6M%3D HTTP/1.1
Accept: application/json
Connection: Close
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.4.2; PE-UL00 Build/HuaweiPE-UL00)
Host: api.51yund.com
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 0


漏洞证明:

001x批量注册成功的信息,外加上返回的user_id。

007.jpg


002x登录邀请码(user_id)的这个账号上面看看去~
通过批量邀请注册刷的钱~

刷钱.jpeg


可体现和购物

提现和购物.jpeg


003x这下真没有了~
批量注册的账号信息等,已经直接联系厂商处理了。钱是刷了10块钱,但是一分钱也没花。

修复方案:

1、验证码位数太短,容易被爆破。建议验证码设置为6位、复杂或者增加有效期等.
2、越权操作,好好改下吧~你们更专业
3、最后的就是批量注册和修改任意账户密码(修改密码找不到手机号,利用条件有限)~

版权声明:转载请注明来源 Ton7BrEak@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-03-16 14:32

厂商回复:

漏洞已确认, 程序员已被罚跪在键盘上敲代码~~

最新状态:

暂无