JS生成cookie分析与解决方案
接着cookie反爬实战案例二后面继续分析
39、补充逻辑说明 case8中 fp与unknow的值生成,case2中_0x57b6be函数逻辑分析
40、_0x10879a函数分析 md又是一个switch-case语句
41、单步调试_0x10879a
42、继续单步调试case5
43、继续调试到case0
44、继续调试case3
45、继续调试case2
46、_0x57b6be函数的继续分析
刷新网页调试到当前case2
47、手动解混淆_0x57b6be函数
var W = _0x4f80af['utils']['utf8']['toBytes'](x),
e = _0x365808(16),
d = _0x4f80af['utils']['utf8']['toBytes'](e),
n = _0x4f80af['utils']['utf8']['toBytes'](_);
n = _0x4f80af['padding']['pkcs7']['pad'](n);
var r = new(_0x4f80af['ModeOfOperation']['cbc'])(W, d)['encrypt'](n),
a = new Uint8Array(d['length'] + n['length']);
return a['set'](d, 0),
a['set'](r, d['length']),
btoa(_0x322451(a))
48、手动解混淆逻辑分析
t、d两值的来源
该变量d就是cookie的值
进入函数内部
49、还原代码分析
这意味着咱们当前的var W = _0x4f80af['utils']['utf8']['toBytes'](x)还原成功。实际上咱们看到toBytes就知道是个什么意思了。
此时e值的动态生成逻辑咱们也弄懂了 且这里的每一个值都是随机生成的
d = _0x4f80af['utils']['utf8']['toBytes'](e)的生成咱们也拿捏了
后续的还原操作就是照猫画虎的操作了 最后看一下js生成的值与浏览器生成的值是否一样。
50、混淆还原总结
t 就是key密钥,d 就是我们text待加密的文本,这里的iv参数偏移量就是随机的 反推验证确认无误。
51、逆向部分完成,重构python代码进行实现
52、到此数据都已经获取到了,因为涉及的网站太过敏感,这一块只分享思路实现,不分享源码。且请务不要高并发爬取网站或者攻击该网站。