某快递应用sytToken分析

今天使用某快递软件寄快递是,发现有接口可以获取所有寄件人和收件人的收货信息,联系方式等。所以尝试看看这个接口是否会有越权漏洞的存在。

首先去应用宝下载了该应用的apk文件,将apk文件安装到测试机中。设置代理,进行流量分析。通过分析流量发现获取地址信息接口如下所示:
在这里插入图片描述

发现请求中有menId这个参数,这个应该是对应的用户id,但是这个参数是加密的,所以我们得知道这个值是怎么获取的。进一步分析,这个值是从云端获取的,获取的请求如下所示:

在这里插入图片描述

请求中只有明文menNo,而且这个是一个数字,看起来就是用户对应的ID,而且应该是连续的,所以想到尝试去修改memNo的值获取其他用户的个人信息。修改请求中memNo的值后,发送,得到如下结果:

在这里插入图片描述

所以猜测,是对请求数据进行了认证。分析请求的内容发现,请求的认证字段应该是sytToken,所以需要分析sytToken的生成算法。所以逆向顺丰速运app,尝试获取加密算法。进一步分析代码,发现加密算法如下所示:

在这里插入图片描述
在这里插入图片描述

既然知道了sytToken的加密算法,那么就能修改memNo的值发送请求了。

尝试爆破memNo的值,看看能不能批量获取到用户的信息,脚本如下所示:

在这里插入图片描述

分析响应,发现获取个人信息失败。

进一步分析,发现是因为每一个用户绑定了设备id,即请求中的deviceId,如果自己构造的请求中deviceId的值和用户最后一次登录时使用的deviceId的值是一样的,那么就能成功获取用户信息。

但是分析获取收货地址信息接口时,发现,没有对deviceId进行验证,但是memId时云端下发的,不知道它的加密方式,但是可以遍历32位memId的数值才能获取用户的地址信息,只是会有点困难,这边就不详诉了。
才能获取用户的地址信息,只是会有点困难,这边就不详诉了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值