zoukankan      html  css  js  c++  java
  • js hook cookie

    //当前版本hook工具只支持Content-Type为html的自动hook
    //下面是一个示例:这个示例演示了hook全局的cookie设置点
    (function() {
        //严谨模式 检查所有错误
        'use strict';
        //document 为要hook的对象   这里是hook的cookie
        var cookie_ = "";
        Object.defineProperty(document, 'cookie', {
        //hook set方法也就是赋值的方法 
        //当前也可以hook get方法
         set: function(val) {
                //这样就可以快速给下面这个代码行下断点
                //从而快速定位设置cookie的代码
                console.log('Hook捕获到cookie设置->', val);
                cookie_ = val;
                return val;
                  },
         get: function(val) {
                //这样就可以快速给下面这个代码行下断点
                //从而快速定位设置cookie的代码
                console.log('Hook捕获到cookie获取->', val);
                return cookie_;
                  }
          });
    })();
    // ==UserScript==
    // @name         cookie
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       公众号:python学习开发
    // @include      *
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
        var cookie_cache = document.cookie;
        Object.defineProperty(document, 'cookie', {
            get: function() {
                console.log(cookie_cache);
                return cookie_cache;
            },
            set: function(val) {
                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 + ";";
                }
            },
        });
    
    })();
  • 相关阅读:
    linux下最大文件数
    Apache实现Web Server负载均衡
    linux环境变量
    iptables用法
    read 不回显的方法
    Linux间的进程通信;以及子进程的创建
    Linux总结
    自实现部分string类的功能
    C语言 (内存) 四道经典题目
    STL 容器(vector 和 list )
  • 原文地址:https://www.cnblogs.com/angdh/p/14865642.html
Copyright © 2011-2022 走看看