• 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

  • 相关阅读:
    EF支持的注解
    c#数组去重复超级简单
    终于开通博客了。
    理解C#中参数
    一般处理程序中session问题
    小菜的面试所感
    为IOS生成opencv framework时遇到的2个问题
    纯真IP地址数据库qqwry.dat解析
    scala纯函数式编程-排序算法实现
    跳跃列表原理和实现
  • 原文地址:https://www.cnblogs.com/tjp40922/p/15808896.html
Copyright © 2020-2023  润新知