大一放寒假了,终于有很多时间可以搞爬虫啦。最近可能更新会频繁,各位看官多多包涵啊多多包涵啊
网址:aHR0cHM6Ly93d3cuc3VwZXJiZWQuY24v
技术:手扣去除花指令
二:寻找sign值
我们打开F12抓包,然后随便上传个图片,抓到一个post包。post包里面有好几个值,只有sign是加密的。
1.png (24.76 KB, 下载次数: 0)
下载附件
1
2023-1-11 20:20 上传
通过关键词搜索sign并找不到我们想要的关键地方。所以我选择使用xhr断点。
三:使用XHR断点寻找关键位置
我们把网址添加到xhr断点位置之后上传图片。
2.png (164.72 KB, 下载次数: 0)
下载附件
2
2023-1-11 20:26 上传
发现断点已经断了下来。
3.png (208.86 KB, 下载次数: 0)
下载附件
3
2023-1-11 20:28 上传
将混淆后的代码选中可以发现是一个send函数,那么小括号里面的数据应该就是发送的数据了。
4.png (10.23 KB, 下载次数: 0)
下载附件
4
2023-1-11 20:30 上传
在本文件中搜索_0x568870,发现总共有12个。从第665行可以发现new FormData(),_0x568870是一个对象,从746到752行可以看出数据一个一个被append添加到_0x568870对象里面。
5.png (45.62 KB, 下载次数: 0)
下载附件
5
2023-1-11 20:35 上传
但是我们要寻找的是sign,sign到底在哪里呢,混淆的代码我一个个查看了发现sign在749行,被混淆过了,所以通过关键词搜索不到。
6.png (21.45 KB, 下载次数: 0)
下载附件
6
2023-1-11 20:43 上传
在749行下断点按F8,便可以查看到sign的数值_0x4e837a,_0x4e837a是从上面第745行传进来的。也可以看到很亮眼的记个大字MD5,便可以判断那便是sign加密的函数。但是那段代码是混淆过的,我们需要解混淆。
7.png (47.05 KB, 下载次数: 0)
下载附件
7
2023-1-11 20:51 上传
四:手撕去除花指令
将那一行加密代码扣下来。第一个函数_0x25869b['UFsia']调用了后面的参数(md5, _0x25869b[_0x1ee3('119', '@)]$')](_0x25869b[_0x1ee3('11a', 'a]$L')](_0x25869b['KWyrc'](_0x4fe853, '_'), _0x38facc['ts']), '_') + _0xd5726e);我们需要去查看_0x25869b['UFsia']究竟有什么用,做了什么功能。
8.png (27.54 KB, 下载次数: 0)
下载附件
8
2023-1-11 20:57 上传
将断点下到第745行,然后便去控制台打印_0x25869b['UFsia']
9.png (27.8 KB, 下载次数: 0)
下载附件
9
2023-1-11 21:00 上传
发现_0x25869b['UFsia']是一个函数,而且函数的作用是把第二个参数传进第一个参数里面然后返回。
10.png (27.29 KB, 下载次数: 0)
下载附件
10
2023-1-11 21:03 上传
第一次代码改写:
11.png (45.19 KB, 下载次数: 0)
下载附件
11
2023-1-11 21:07 上传
仔细观察改写后的代码可以发现是_0x25869b[_0x1ee3('119', '@)]$')]函数调用了后面的参数_0x25869b[_0x1ee3('11a', 'a]$L')](_0x25869b['KWyrc'](_0x4fe853, '_'), _0x38facc['ts']), '_'
那我们便继续寻找_0x25869b[_0x1ee3('119', '@)]$')]函数,在控制台打印以后双击便可查看函数,发现这个函数的作用是第一个参数与第二个参数相加。继续改写这段代码
12.png (24.48 KB, 下载次数: 0)
下载附件
12
2023-1-11 21:11 上传
第二次代码改写:
13.png (37.07 KB, 下载次数: 0)
下载附件
13
2023-1-11 21:21 上传
仔细观察改写后的代码可以发现是_0x25869b[_0x1ee3('11a', 'a]$L')]函数调用了后面的参数_0x25869b['KWyrc'](_0x4fe853, '_'), _0x38facc['ts']
那我们便继续寻找_0x25869b[_0x1ee3('11a', 'a]$L')]函数,在控制台打印以后双击便可查看函数,发现这个函数的作用是第一个参数与第二个参数相加。继续改写这段代码
14.png (27.52 KB, 下载次数: 0)
下载附件
14
2023-1-11 21:23 上传
第三次代码改写:
15.png (28.38 KB, 下载次数: 0)
下载附件
15
2023-1-11 21:25 上传
仔细观察改写后的代码可以发现是_0x25869b['KWyrc']函数调用了后面的参数_0x4fe853, '_'
那我们便继续寻找_0x25869b['KWyrc']函数,在控制台打印以后双击便可查看函数,发现这个函数的作用是第一个参数与第二个参数相加。继续改写这段代码
16.png (27.47 KB, 下载次数: 0)
下载附件
16
2023-1-11 21:27 上传
第四次代码改写:
17.png (23.3 KB, 下载次数: 0)
下载附件
17
2023-1-11 21:30 上传
花指令已经清除的差不多了,只需要找剩下的值替换进去就可以拿到sign的值了。
在控制台输出_0x4fe853,_0x38facc['ts']和 _0xd5726e的值
18.png (8.02 KB, 下载次数: 0)
下载附件
18
2023-1-11 21:33 上传
第五次代码改写:
19.png (20.38 KB, 下载次数: 0)
下载附件
19
2023-1-11 21:35 上传
解完混淆发现函数是一个md5里面传入一个未定义和两个下划线跟两段数字
将值进行md5加密跟参数进行对比,未定义是token,因为我们没有登录所以没有token,登录之后就不是未定义了,中间那段数字是ts是段时间戳,第三段数字是参数nonce,而sign就是几个参数拼接起码md5加密的。
20.png (49.17 KB, 下载次数: 0)
下载附件
20
2023-1-11 21:41 上传
六.结尾
此教程仅供学习交流使用,如有侵犯权益,联系作者删除。