![](http://dingyue.ws.126.net/2023/1018/922b20edj00s2ph0z005bd000p000anp.jpg)
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
前言:
小星在测试某次业务时,由于数据包中的参数被加密且存在sign,导致无法直接测试逻辑问题。经过尝试多种思路,小星最终成功完成了逻辑漏洞的测试。特此记录。
1. 当尝试访问该业务链接时,提示无法获取到手机号码,需要通过使用手机热点来实现获取。由此推断,该操作可能是通过消耗手机数据流量来获取手机号码的。
![](http://dingyue.ws.126.net/2023/1018/be80414dj00s2pgud003jc000l400kum.jpg)
打开网易新闻 查看精彩图片
2. 改换成使用手机热点访问之后,成功自动获取到了手机号码。
![](http://dingyue.ws.126.net/2023/1018/5ae9fb5bj00s2pgue0025c000ty00kwm.jpg)
打开网易新闻 查看精彩图片
3. 在点击验证号码状态后,获取到了名为“qryUserBaseInfoByPhoneNo”的数据包接口。分析该数据包发现,其中的参数已经经过解密处理,并且存在sign校验。然而,该数据包的返回包并没有提供太多有用的信息。
![](http://dingyue.ws.126.net/2023/1018/38f1ff60j00s2pgud004gc000u0008qm.jpg)
打开网易新闻 查看精彩图片
4. 继续释放下一个数据包,获取到了名为“checkUserCheat”的数据包。同样,该数据包中也存在sign校验。分析返回结果,显示不存在该用户。
![](http://dingyue.ws.126.net/2023/1018/2799149cj00s2pgud004wc000u000ajm.jpg)
打开网易新闻 查看精彩图片
5. 小星考虑到这是运营商的业务,很可能是只有该省的手机号码才能获取到用户的数据。然而,数据包存在sign校验,无法通过修改数据包来进行越权测试。
6. 为了解决这个问题,小星尝试了在浏览器的存储中修改参数“wx_mobile”的值,将其修改为该省运营商的手机号码。
![](http://dingyue.ws.126.net/2023/1018/c961a3e8j00s2pgue003sc000u000j3m.jpg)
打开网易新闻 查看精彩图片
7. 刷新浏览器并再次点击验证号码,同时进行抓包操作。
此次,数据包中的参数“mobile”发生了变化,而且返回包中存在数据,返回了该用户的开卡事件、密码、套餐等信息。越权操作成功。
根据这些信息,可以推测业务逻辑应该是从浏览器存储中读取手机号码,并对手机号码进行加密后传递给服务端以获取数据。
![](http://dingyue.ws.126.net/2023/1018/1b80c94dj00s2pgud0054c000u0009fm.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2023/1018/efe54bcfj00s2pgud004oc000u0009tm.jpg)
打开网易新闻 查看精彩图片
热门跟贴