js逆向破解之Hook Cookie


原理

通過油猴插件重寫操作Cookie的get和set操作

通過指定Cookie名動態進入derbugger模式

代碼

// ==UserScript==
// @name        Hook Cookie
// @namespace   http://tampermonkey.net/
// @version     0.1
// @description try to take over the world!
// @author      You
// @include     *
// @grant       none
// @run-at      document-start
// ==/UserScript==

(function () {
    'use strict';
    var cookie_cache = document.cookie;
    Object.defineProperty(document, ' cookie', {
        get: function () {
            return cookie_cache;
        },
        set: function (val) {
            console.log('Setting cookie', val);
            // 填寫cookie名
            if (val.indexOf('cookie名') != -1) {
                debugger;
            }
            var cookie = val.split(";")[0];
            var ncookie = cookie.split("=");
            var flag = false;
            var cache = cookie_cache.split("; ");
            cache = cache.map(function (a) {
                if (a.split("=")[0] === ncookie[0]) {
                    flag = true;
                    return cookie;
                }
                return a;
            })
            cookie_cache = cache.join("; ");
            if (!flag) {
                cookie_cache += cookie + "; ";
            }
            return cookie_cache;
        }
    });
})();

 

以百度搜索為例,定位cookie中H_PS_645EC的生成方式,將H_PS_645EC填寫金cookie名的位置

保存腳本並打開開關,清空cookie后重新刷新頁面,成功斷下,且值已經生成了

往上跟蹤堆棧就可以定位到生成代碼,然后就可以提取關鍵代碼去調試了

當我們不修改cookie名他會把所有的cookie打印出來

 

轉自:https://zhuanlan.zhihu.com/p/231651573?ivk_sa=1024320u


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM