逆向webpack

目标站点:aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWw=

1、翻页抓包请求

请求: 加密


逆向webpack_第1张图片
图片.png

响应加密


逆向webpack_第2张图片
图片.png
2、简单分析

sm2、sm4加密方式 ,是国产加密,原理暂时不详,既然用js可以加密还原,救可以抠出来

3、定位参数

特征参数1、signData

逆向webpack_第3张图片
图片.png

观察整体 webpack打包的代码
入口位置在这
逆向webpack_第4张图片
图片.png

4、断点调试

4.1首先定位在,e.data和参数的重合度很高
e.data.data是翻页参数


逆向webpack_第5张图片
图片.png

逆向webpack_第6张图片
图片.png

4.2向上定位发现headers中是有参数的,


逆向webpack_第7张图片
图片.png
这里展现一波硬刚的本事

定位50151行 t是sha256加密的初始化


图片.png

图片.png

逆向webpack_第8张图片
图片.png

抠出来后运行肯定会缺少代码,报错。查看缺少模块,继续寻找,向下看,给这个函数添加方法,全补出来,运行缺少参数,继续补


逆向webpack_第9张图片
图片.png

补完最后的样子


逆向webpack_第10张图片
图片.png

上边的时间戳比较简单了


逆向webpack_第11张图片
图片.png
接下来就是正常的调试过程了(提醒:webpack每个函数对外暴露模块,初始化的逻辑一般会在界面刷新的时候加载完,所以如果现在点进去,断点断不住)

p函数,如果把p抠出来运行,会发现在下边两个地方会报错

逆向webpack_第12张图片
图片.png

o.doSignature、e.from

向上找,在此次作用域内 o是什么、e是什么?
这里找到o 、a, 如果在这里打断点,发现根本断不住,因为上边已经加载过的,要想断住找逻辑,必须刷新界面。


逆向webpack_第13张图片
图片.png

守规矩的在这里打断点

图片.png

点进去 到16666行
图片.png

观察函数v在的字典函数体, doSignature是这个函数体的一个方法
逆向webpack_第14张图片
图片.png

老方法来了:
找入口,如下图中逻辑


逆向webpack_第15张图片
图片.png

缺少哪个key值对应的函数就扣哪个补在下边的字典中。

注意

逆向webpack_第16张图片
图片.png

图中的加载可能不涉及到函数的运行,需要进行删掉,不能一直补,否则就是无底洞,加密的过程中用不了太多的函数。解密逻辑很简单,加密出来,解密不难。最后成功通车。


逆向webpack_第17张图片
图片.png

你可能感兴趣的:(逆向webpack)