此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
0x02 漏洞描述
0x03 漏洞详情
1、 app打开后获取验证码时抓包,发现请求数据被加密
2、从手机登录页点击新账号激活时,抓包,在响应包发现其url地址,使用电脑浏览器访问,可以直接访问,则手机端测试转为pc端测试。
3、查看前端js代码,发现名为security.js的文件
4、 发现31行代码就是第1步的请求数据
5、向上追溯变量,发现变量传递为data->allParam->signCode->postParam
6、 而data变量在html代码里搜索此url的代码也能找到
7、由上述代码可知,后续会将json格式转为字符串,即data=’ loginName=base64encode(#loginName)’,尝试用常规的base64编码,结果失败
8、 又发现一个名为securityencode.js的文件里有base64编码的方法,由此看出,此处自定义了base64编码,所以常规的base64不行。
9、调用第8点js中的编码方法,和第5步的逻辑,成功将明文用户名编码成第1步中请求包的加密值,以此逻辑编写python代码,批量枚举用户名
10、 使用爆出的用户名去首页登录,到输入验证码的地方,可以在请求查看到明文手机号和authenWorkNo号
可以直接pc端访问此url
因此,整个用户名枚举漏洞转变为可批量获取用户姓名+手机号的漏洞,提升为中危漏洞
0x03 修复建议
1、 增加图形验证码校验
2、 对客户端ip进行频次限制
3、 将手机号传参在请求包加密或隐藏
翻到文章最底部点击“阅读原文”下载链接
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读