猿人学第十六题——webpack逆向初体验

 抓包分析,发现请求接口后跟着一个m值,一看就是加密的。

跟栈分析,能够跟到生成m的位置。

 一个方法种传入了btoap_s两个参数,btoa可以用base64进行改写

 跟进前面的方法,t[e(528)] = function(e, t) ,该方法其实最后返回的值就是btoa(p_s) ,将p_s传入btoa方法进行加密,p_s为时间戳。我们把btoa方法单独抠出来算完成了大半步。

 括住btoa,可以跟到window[u(208)]这个方法内,u(208) = btoa 直接把这个大方法抠出来,改写成function jiami(e) {....}

 把缺少的u也给补上,跟进u方法,可以发现u = ll 方法是在一个列表当中取值,将_0x34e7这个列表也给补上。

 缺失window直接补上window = global,之后还会爆缺少window.md5,这个方法重新自己写了一个md5加密,直接扣下来,把缺少的n_0x4c28列表补上,方法和上面的u相同。这里有个坑,在这个列表的下面定义了一个t=368,刚开始还不知道这是啥,然后加密出来的数值一直错误,最后单步跟到这才发现,定义了一个t值,接着又定义了一个方法,这个方法内我们可以看到push和shift两个函数,这两个函数分别为向列表添加和删除列表第一个元素,所以导致这个列表一直在变化,一定要把这个方法补上。

最后发现还是参数错误,直接搜try看看是不是做了什么小手脚,这有个n.g方法,直接扣下来补在上面就行,最后验证生成的参数,请求成功。

 ​​​

 兄弟们请求的时候记得带上sessionid。

其实webpack还有另外一种更加简单的方法。找出加载器和每一个加密互相调用的方法,改写方法名称加上一个自执行即可,这里就不演示了,我自己最后抠出来总是会堆栈溢出

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值