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

posted @   阿布_alone  阅读(2172)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-01-16 Python多线程的事件监控
2020-01-16 Python只有文件不存在才能写文件
2020-01-16 Elasticsearch批量插入时,存在就不插入
2020-01-16 在ES批量插入数据超时时自动重试
2020-01-16 mongo的聚合操作
2020-01-16 全文搜索引擎 Elasticsearch 入门教程
2019-01-16 form组件之modelForm
TOP
点击右上角即可分享
微信分享提示