JS逆向之加速乐Cookie反爬

滲透逆向 · 6 天前 · 8 人浏览

有这么一种网站,访问请求会发送三次,第三次才能返回响应结果,并且前两次返回521状态码,那么这个网站就是采用了加速乐Cookie反爬。
2025-05-31T17:15:44.png
首先看第一次请求,响应的是一段js代码,这段js代码执行后是设置cookie的。
2025-05-31T17:17:18.png
2025-05-31T17:18:26.png
然后是第二次请求,响应的也是段js,这段js是设置第二次的cookie的(__jsluid_s由第一次访问url后服务器那边返回设置的)。第二次的请求需要携带第一次请求返回js执行后设置的cookie。即__jsl_clearance_s为第一次返回内容js执行后的结果。
2025-05-31T17:19:34.png
第三次请求,变的只有__jsl_clearance_s,也就是第二次返回的js执行的一些操作导致cookie的更变。所以我们要逆向的目标就是第二次返回的js内容。
2025-05-31T17:22:47.png


把js复制下来然后贴到控制台代码段那里分析
2025-05-31T17:25:30.png
因为该代码更改的是cookie,所以我们提前控制台输入hook cookie代码,然后提前下断点。

// hook cookie代码
(function () {
    'use strict';
    var org = document.cookie.__lookupSetter__('cookie');
    document.__defineSetter__('cookie', function (cookie) {
        if (cookie.indexOf('__jsl_clearance_s') != -1) {
            debugger;
        }
        org = cookie;
    });
    document.__defineGetter__('cookie', function () {
        return org;
    });
})();

然后执行代码段,发现断下来了,往前面翻。
2025-05-31T17:27:49.png
跳到这里,发现是由 _0xf60207 返回的,往上找。
2025-05-31T17:28:27.png
2025-05-31T17:30:23.png
发现是由 _0x2a62d8[0x0] 返回的,那么我们找 _0x2a62d8
找到后分析参数,发现参数来源于最下面的ct和bts
2025-05-31T17:32:02.png
2025-05-31T17:32:46.png
2025-05-31T17:33:48.png
那么我们继续找函数,函数在上面
2025-05-31T17:35:00.png
复制到本地然后分析,一步步的从[]那里分析,把混淆值恢复为原始值。
2025-05-31T17:37:20.png
看最后一个判断,发现这个方法是判断arg1是否等于arg2(ct).
2025-05-31T17:40:38.png
2025-05-31T17:42:04.png
再把arg1拆解。
2025-05-31T17:44:15.png
那么第一个参数是hash,第二个参数是_0x3824c6,所以调用的结果就是hash(_0x3824c6)
所以这里的if就是 hash(_0x3824c6) == arg2(ct)。


其实外边无非套两层for循环,然后中间加个判断,判断hash那个值是否等于arg2(ct),相等就返回那个值。
多看两遍,就明白了。

本站立足于美利堅合衆國,請讀者自覺遵守當地法律!如有違規,本站不承擔任何法律責任! This site is based in the United States of America, readers are requested to abide by local laws! If there are any violations, this site does not bear any legal responsibility! Theme Jasmine by Kent Liao