看了一下某蛇文创是webpack的,随便玩一下RSA加密,而且他的抢购提前请求可以发提前包,思路:在请求页面将断点打过去,将校验参数改掉就会变成可购买,获取包信息后就可以写爬虫了。
01
逆向参数
网址:
aHR0cHM6Ly9oNS5sYXJnZXNuYWtlLmNuLyMv
接口:
aHR0cHM6Ly9oNS5sYXJnZXNuYWtlLmNuL3Byb2QtYXBpL2xvZ2luL3N1Ym1pdA==
逆向参数:
- username
-password
02
实战流程
01
抓包找接口
百年不变抓包找接口,我就比较喜欢先用XHR下断,找不到再用搜索,先抓接口。
02
下断
重新发包看位置。
发现断住了看到webpackJsonp就知道是webpack打包了,好奇怪的webpack啊。
在这明显看到了data:t,所以看上文的t位置,结果发现e=e.data,e是传入的参数。
再往上一个方法栈看到data数据里有username和password,那就是在这定义的,然后是e和n参数这个就好像RSA加密啊看这个方法。
直接进到方法里下断吧。
看加密方法。
n = new o.defalut,o.defalut肯定是对象嘛,需要new的,那去上文看看o怎么定义的。
好了看到webpack的特性一了,一堆同方法名的不同参数的调用,o多了一个i方法处理,估计就是一个处理的函数,咱可以下断调了,webpack有缓存所以刷新页面可以断住。
03
抠webpack加载器
断住加载方法之后,直接进入a方法抠加载器。
有时候鼠标放上去麻烦,在作用域里就直接打印点函数代码也可以定位过去。
好了看到webpack的加载器精华了,那这个肯定是主文件,全抠,改写一下。
全抠2800行很少啊,我们在刚定位的时候就看到了webpackJsonp,说明他是多文件的,还得抠他的子文件,先给加载器去掉init初始化(最后一行)。
再将加载器导出。
这样就导出到window上了。
04
抠子文件
重新下XHR断点,找到加载位置,将断点打在webpackJsonp的位置。重新刷新下断。
看看加载它之前都缓存了哪些子文件。
发现就两个,加它三个。
然后按着它o的生成抄着写。
03
抢购思路
搜索 “等待发售” —-由于没注册,不能看到具体的。就是搜关键词,然后断点看上下文逻辑,返现有一个条件判断,在控制台将断点断在判断位置,将判断参数在控制台修改一下。
04
完整源码
源码五万行太长,交流群自取,交流群在公众号:关于我的->交流群。
喜欢就点个关注一起进步吧
此文章仅做学习之用,请勿做违法违纪之事。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/218408.html