好友
阅读权限25
听众
最后登录1970-1-1
|
本帖最后由 wangguang 于 2023-1-11 22:25 编辑
一.前言
大一放寒假了,终于有很多时间可以搞爬虫啦。最近可能更新会频繁,各位看官多多包涵啊多多包涵啊
网址:aHR0cHM6Ly93d3cuc3VwZXJiZWQuY24v
技术:手扣去除花指令
二:寻找sign值
我们打开F12抓包,然后随便上传个图片,抓到一个post包。post包里面有好几个值,只有sign是加密的。
通过关键词搜索sign并找不到我们想要的关键地方。所以我选择使用xhr断点。
三:使用XHR断点寻找关键位置
我们把网址添加到xhr断点位置之后上传图片。
发现断点已经断了下来。
将混淆后的代码选中可以发现是一个send函数,那么小括号里面的数据应该就是发送的数据了。
在本文件中搜索_0x568870,发现总共有12个。从第665行可以发现new FormData(),_0x568870是一个对象,从746到752行可以看出数据一个一个被append添加到_0x568870对象里面。
但是我们要寻找的是sign,sign到底在哪里呢,混淆的代码我一个个查看了发现sign在749行,被混淆过了,所以通过关键词搜索不到。
在749行下断点按F8,便可以查看到sign的数值_0x4e837a,_0x4e837a是从上面第745行传进来的。也可以看到很亮眼的记个大字MD5,便可以判断那便是sign加密的函数。但是那段代码是混淆过的,我们需要解混淆。
四:手撕去除花指令
将那一行加密代码扣下来。第一个函数_0x25869b['UFsia']调用了后面的参数(md5, _0x25869b[_0x1ee3('119', '@)]$')](_0x25869b[_0x1ee3('11a', 'a]$L')](_0x25869b['KWyrc'](_0x4fe853, '_'), _0x38facc['ts']), '_') + _0xd5726e);我们需要去查看_0x25869b['UFsia']究竟有什么用,做了什么功能。
将断点下到第745行,然后便去控制台打印_0x25869b['UFsia']
发现_0x25869b['UFsia']是一个函数,而且函数的作用是把第二个参数传进第一个参数里面然后返回。
第一次代码改写:
仔细观察改写后的代码可以发现是_0x25869b[_0x1ee3('119', '@)]$')]函数调用了后面的参数_0x25869b[_0x1ee3('11a', 'a]$L')](_0x25869b['KWyrc'](_0x4fe853, '_'), _0x38facc['ts']), '_'
那我们便继续寻找_0x25869b[_0x1ee3('119', '@)]$')]函数,在控制台打印以后双击便可查看函数,发现这个函数的作用是第一个参数与第二个参数相加。继续改写这段代码
第二次代码改写:
仔细观察改写后的代码可以发现是_0x25869b[_0x1ee3('11a', 'a]$L')]函数调用了后面的参数_0x25869b['KWyrc'](_0x4fe853, '_'), _0x38facc['ts']
那我们便继续寻找_0x25869b[_0x1ee3('11a', 'a]$L')]函数,在控制台打印以后双击便可查看函数,发现这个函数的作用是第一个参数与第二个参数相加。继续改写这段代码
第三次代码改写:
仔细观察改写后的代码可以发现是_0x25869b['KWyrc']函数调用了后面的参数_0x4fe853, '_'
那我们便继续寻找_0x25869b['KWyrc']函数,在控制台打印以后双击便可查看函数,发现这个函数的作用是第一个参数与第二个参数相加。继续改写这段代码
第四次代码改写:
花指令已经清除的差不多了,只需要找剩下的值替换进去就可以拿到sign的值了。
在控制台输出_0x4fe853,_0x38facc['ts']和 _0xd5726e的值
第五次代码改写:
解完混淆发现函数是一个md5里面传入一个未定义和两个下划线跟两段数字
将值进行md5加密跟参数进行对比,未定义是token,因为我们没有登录所以没有token,登录之后就不是未定义了,中间那段数字是ts是段时间戳,第三段数字是参数nonce,而sign就是几个参数拼接起码md5加密的。
六.结尾
此教程仅供学习交流使用,如有侵犯权益,联系作者删除。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|