本文内容为小白入门实战教程,大神请忽视;本文仅供学习交流,请勿用于商业和非法用途,否则由此产生的一切后果均与作者无关;若有侵权,请联系立即删除!
接口地址
aHR0cHM6Ly9qeC54bWZsdi5jb20vP3VybD1odHRwczovL3YucXEuY29tL3gvY292ZXIvbXpjMDAyMDB1OHZmemN6Lmh0bWw=
实战开始
[ol]
浏览器打开开发者模式,输入网站请求
截图.png (250.91 KB, 下载次数: 2)
下载附件
2024-7-27 01:21 上传
直接就请求完成了,没有复杂的无限debugger;省了很多事情;
观察ur请求
上面的请求不多,都点点看看,注意请求的参数与响应体
截图1.png (88.26 KB, 下载次数: 2)
下载附件
2024-7-27 01:22 上传
细心的同学会发现,这个xmflv.js的请求很诡异,居然是个post请求,响应体是个图片,图片还是裂图,这里边绝逼有鬼,看看这个请求结果到底是什么。
分析怀疑的请求
这个请求提供两种方式
截图2.png (88.95 KB, 下载次数: 1)
下载附件
2024-7-27 01:22 上传
截图3.png (281.69 KB, 下载次数: 3)
下载附件
2024-7-27 01:22 上传
截图4.png (252.71 KB, 下载次数: 2)
下载附件
2024-7-27 01:04 上传
截图5.png (338.19 KB, 下载次数: 2)
下载附件
2024-7-27 01:04 上传
可以发现,加密结果和加密方式 key iv都出现了,解密看看结果,正是最终的直链地址(这里就不贴图了)
分析算法
截图6.png (73.6 KB, 下载次数: 2)
下载附件
2024-7-27 01:04 上传
现在目标很明确了,就是获取上述接口的4个请求参数
wap:是固定的 1
url:是需要解析的官网地址url
time:一眼就看出是时间戳
就剩下 key 参数了,接下来要进行断点跟踪了,这里提供两种方式
尝试 key: "key": 'key':进行全局搜索,最终发现 'key': 能跟到目标代码处
截图14.png (399.15 KB, 下载次数: 3)
下载附件
2024-7-27 02:15 上传
我们知道请求的url,可以添加url断点,再重新请求
截图7.png (126.75 KB, 下载次数: 1)
下载附件
2024-7-27 01:04 上传
截图8.png (235.17 KB, 下载次数: 1)
下载附件
2024-7-27 01:04 上传
点击请求的上游调用栈,很快就找到了请求参数生成地方
截图9.png (242.09 KB, 下载次数: 2)
下载附件
2024-7-27 01:04 上传
key 的生成算法是:
sign(ll1lIl1l['KKVzz'](hex_md5, ll1lIl1l[IliIiIi(0x7c7, 'Sx)X')](I111ill, url)))
算法混淆比较简单,我们在console打印每一步参数与function
Snipaste_2024-07-27_02-47-30.png (96.12 KB, 下载次数: 2)
下载附件
2024-7-27 02:48 上传
转换下 key = sign(hex_md5(time + url))
在追踪sign跟 hex_md5方法
截图11.png (77.18 KB, 下载次数: 1)
下载附件
2024-7-27 01:04 上传
sign是标准AES CBC加密
截图12.png (187.69 KB, 下载次数: 0)
下载附件
2024-7-27 01:04 上传
好复杂,根据方法名,盲猜是MD5后再hash,随便找个参数验证一下
截图13.png (21.64 KB, 下载次数: 3)
下载附件
2024-7-27 01:04 上传
晕, 直接就是MD5呀,分析结束。
全局关键字搜索
通常在上面第2步分析url没有头绪时,可以直接全局搜索关键字,最常用关键字:decrypt
Snipaste_2024-07-27_01-47-53.png (506.94 KB, 下载次数: 2)
下载附件
2024-7-27 02:13 上传
再跟踪调用栈,也找到目标解密代码处
Snipaste_2024-07-27_01-51-10.png (294.94 KB, 下载次数: 2)
下载附件
2024-7-27 02:12 上传
[/ol]