某观鸟平台逆向分析

声明:由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!

图片

1.抓包:

发现url:https://api.xxxxxxx.cn/front/record/activity/search

请求头三处加密,requestIdsign**(疑似md5)、timestamp(时间戳)**

图片

表单数据加密:

图片

 

请求返回数据加密:

图片

2.分析:

通过抓包,发现请求头、表单、返回的数据均有加密,如果你逆向的网站比较多会发现,一般加密的地方都在一起,网站大概率会使用JSON.stringify,来将数据转换为json字符串之后再进行加密,因此可以使用hook断点

hook JSON.stringify代码:

(function() {
    var stringify = JSON.stringify;
    JSON.stringify = function(params) {
        console.log("Hook JSON.stringify ——> ", params);
        debugger;
        return stringify(params);
    }
})();

将hook代码注入控制台,翻页断点

图片

 

找到上一个栈

图片

可以看出RequestId是由getUuid生成:

图片

sign由MD5(e + d + c)生成

图片

timestamp由Date.parse(new Date())生成

图片

发现表单是使用RSA加密,并且用setPublicKey方法设置了要使用的公钥。然后,使用encryptUnicodeLong方法对参数e进行加密

图片

使用hook JSON.parse找到返回数据解密位置,和上面hook代码一样的操作

(function() {
    var parse = JSON.parse;
    JSON.parse = function(params) {
        console.log("Hook JSON.parse ——> ", params);
        debugger;
        return parse(params);
    }
})();

图片

 

图片

 

找到解密位置

图片

跟进后,发现解密代码由AES解密

图片

图片

 

3.扣代码:

将js代码复制下来,平且补全代码

图片

 

图片

图片

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值