Js逆向案例 Scrape Spa2(Webpack自吐)
逆向目标
- 翻页请求时携带的token
- https://scrape.center/ SPa2案例
抓包
逆向分析
搜索token
定位
发现由 e = Object(i["a"])(this.$store.state.url.index, a)
生成
在这里下个断点 。
参数为字符串api
和(页数-1)*10
,进入到Object(i["a"])
加密逻辑中
算法比较简单,可以自己实现或者扣代码,这里使用扣代码的方式,这个代码是webpack打包的 ,可以参考
Webpack原理及如何扣代码
Object(i["a"])
中i["a"]
是一个对象,所以``Object(i[“a”]) 等于 i[“a”],然后找到定义
i[“a”]`定义处,看到是调用了一个模块
接下来只需要把加载器和调用的模块拿下来,然后调用
首先进入到加载器定义的位置,然后把全部js代码拿下来,然后导出加载器
模块通过自吐来获取
1.在模块调用处打上断点
2.刷新页面,在断点处停住后进入到上一步调用栈,进入到加载器函数,将缓存置空r = {}
,定义一个新对象aaa = {}
用于存放后续加载的函数
3.在加载器第一行添加一个条件断点,将需要加载的方法设置到我们刚刚定义的空对象中,其中e
是传入的装载了所有模块的大对象或数组
aaa[t] = e[t],false
3.释放当前断点,跳到下一个断点,此时aaa
中已经加载了调用7d92
所需要的模块
4.将这个对象合并成字符串,
Object.entries(aaa).map(([key, value]) => `"${key}":${value}`).join(",")
5.然后将7d92模块
及上面合并得到的字符串置入到我们本地的加载模块中,
最后根据定义的方法调用即可