0x11
上午十一点,部门大佬发了一个补天认领的漏洞,于是抓紧看了一波,发现是一个已经一年多没管的项目,看了下过程,原理大概知道,于是自己动手实践了下,惭愧,一直到下午才复现漏洞。
0x12
漏洞提交详情如下
很直白,大致就是:抓包后修改了返回结果,然后app将结果处理后进入下一步操作(查询订单等信息),这个时候白帽子已经通过修改用户id查询到了很多关键数据,最后还提了一嘴批量查询,ummmm....
0x13
开始动手
-
1.尝试使用白帽子提交的返回值。验证码123456。
修改返回值后,app无响应。
-
2.正常登陆后修改返回值。修改用户id。
唉?app还是没反应!
于是我查看了手机的日志,发现有连接超时,难道是我手速太慢?于是我快速重复了一遍上述步骤,结果还是一样。
经过多次尝试,发现各有成功失败,大致的操作步骤如下:
1.正常登陆,拿到正常登陆时的response内容,修改用户id。
2.当验证码发送按钮可用时,迅速执行登录操作,将步骤1的response粘贴到响应内容中,成功。
根据服务器响应来看,服务器时间与本地时间相差很大。
因此,关键是响应头中的Date不要超时。
0x14
关于批量查询,关键要知道apisign如何生成。
在浏览器直接访问域名。发现接口文档直直白白的显示了出来。
反编译了apk,在代码中获取到了key。
0x15
最后,其实只要对请求做好鉴权,这些都是浮云吧