网站地图    收藏   

主页 > 后端 > 网站安全 >

咕咚运动应用设计缺陷以及XSS - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 10:15 作者: 阅读:

[导读] 咕咚网是由成都乐动信息技术有限公司创立的将运动与网络结合,分享运动快乐的新社区,倡导运动,环保,有趣,简单,持续。被誉为运动者的facebook。成都乐动是一家基于互联网技术...

咕咚网是由成都乐动信息技术有限公司创立的将运动与网络结合,分享运动快乐的新社区,倡导运动,环保,有趣,简单,持续。被誉为运动者的facebook。成都乐动是一家基于互联网技术个人电子产品研发、生产、销售并提供对应网络社区服务和娱乐产品的高科技企业,已经完成致力于健身追踪器的硬件研发生产销售和“咕咚网”平台的开发与运营。无线心率表,网络瘦身秤等全新的网络健身产品也将在2011年面世。咕咚网已经获得多项新型专利和外观专利,并获得“2010年度中国中小企业创新基金”。

手机上装了咕咚运动,看到配件都很贵,于是就电脑上官网了,没想到...........
DNSPod付费用户,就用域名提交了

Part1:已知EMAIL/手机号任意密码修改

找回密码接口处,提交一个通过EMAIL或者手机号的密码重置申请后,系统会给发送一个4位的验证码(仅在EMAIL处测试,没有手机测试不了手机),然后通过这个4位的验证码即可找回用户密码。

而找回密码的接口中,只检查了email以及验证码是否正确,没有检查其他随机参数是否正确,同时,系统不限制次数的尝试验证码是否正确。

因此,只有我们知道了用户的EMAIL或者手机,就可以通过穷举的方式来修改用户的密码。

4位数哦...

 

Part2:已知用户名任意密码修改(建议先看Part3.4)

通过Part3,4的漏洞结合,通过xss提交web请求要求绑定手机,并获取验证码,并再次提交成功修改为我们的手机,手机收到短信后,就可以通过官方接口来通过手机号来找回密码

 

Part3:私信处XSS漏洞

在发送私信给别人的过程中,未对私信的内容进行过滤,导致在发送私信给别人的时候可以插入xss代码来对用户进行下一步的操作!

 

Part4:任意手机绑定

绑定手机过程如下:输入号码——发送号码——返回发送成功,并且附带验证码——输入验证码——验证成功!

而这一过程,就是不科学的,返回成功为什么要附带上发送的验证码呢?

 Part1:已知EMAIL/手机号任意密码修改

在官方找回密码通过EMAIL找回,你会收到这样一封邮件



红码的部分就是4为的验证码,这里假设我们不知道这4个数字

随便访问一个验证码,会出现这种页面


http://www.codoon.com/verify_email?email=[EMAIL]&code=[4位码]



导入进行破解



1000-9999只有9000个可能,很快就可以破完

成功的验证码的回包是一个302的请求,很容易分辨出来



然后通过我们就可以找回用户的密码了!






 

Part2:已知用户名任意密码修改(建议先看Part3.4)

这part比较理论..技术不精,还请包含!

分为两个部分:构造代码——等待上线

构造:

修改的过程就是:

发送验证码


POST http://www.codoon.com/user/send_verify_sms HTTP/1.1
mobile=12345679812

回包


{"info": "[六位验证码]", "rs": true}

通过这个验证码就可以再次发包修改手机号

 

------------------------------------------------

Part3:私信处XSS漏洞

给任意人发送一封私信,同时在内容中直接插入XSS代码



发送,乓的一声!就被X了。



尝试性地给一个客服发了私信,简单修改自己的sessionid,即可登陆


set-cookie: sessionid=***************


 


同时,这是一个云服务,就可以看到用户之前的运动轨迹,通过都是从家出发!


Part4:任意手机绑定

不论是之前有无绑定,均可以使用此方法。

启动Fiddler2抓包,提交一个手机号,发送验证码


回到Fiddler2,我们发现发送验证码的包中服务器回复了JSON数据,其中的info就记录了刚刚发送的验证码



通过这个验证码,就可以成功绑定手机!

 


然后我们就可以知道妹子的家了!


修复方案:

首先赞一赞厂商,在我编辑漏洞的时候就补了任意手机绑定 - -;;;

本来还想截个修改手机号的包的,没截下来!!!

 

Part1:已知EMAIL/手机号任意密码修改

加强验证码,最好为16为字母+数字

限制一个验证码的尝试次数

 

------------------------------------------------

Part3:私信处XSS漏洞

过滤不合法的参数

全局httponly!!!

 

------------------------------------------------

Part4:任意手机绑定

就像现在这样修复即可

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论