某图床sign解密

查看 149|回复 11
作者:wangguang   
一.前言
大一放寒假了,终于有很多时间可以搞爬虫啦。最近可能更新会频繁,各位看官多多包涵啊多多包涵啊
网址: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 上传

六.结尾
此教程仅供学习交流使用,如有侵犯权益,联系作者删除。

下载次数, 下载附件

dujiaoshu666   


夜泉 发表于 2023-1-12 18:44
学一下 javascript ast

WechatDownload请更新一个版本吧,只要把打开软件弹出网页给去掉就好了,因为那个弃用的网站已经变成了黄色网站了,随着这个软件的传播,流毒无穷啊
JiangHejing   

学习学习                                   
gunanyi   

有视频讲解就更好了
wangguang
OP
  


gunanyi 发表于 2023-1-11 22:10
有视频讲解就更好了

哈哈哈,下次出个发在b站咯
gunanyi   


wangguang 发表于 2023-1-11 22:20
哈哈哈,下次出个发在b站咯

好的大佬,我第一个关注
wangguang
OP
  


gunanyi 发表于 2023-1-11 22:36
好的大佬,我第一个关注

hhh,多谢多谢,多谢支持
zhwd9999   

我看不懂,但大受感动。
cncfrtc   

楼主威武,感谢分享
LZW1768857595   

感谢分享,学习了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部