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 + ";";
            }
        },
    });

})();

 

 

 

 

(function() {
    //严谨模式 检查所有错误
    'use strict';
    //document 为要hook的对象   这里是hook的cookie
 var cookieTemp = "";
    Object.defineProperty(document, 'cookie', {
  //hook set方法也就是赋值的方法 
  set: function(val) {
              debugger;
    //这样就可以快速给下面这个代码行下断点
    //从而快速定位设置cookie的代码
    console.log('Hook捕获到cookie设置->', val);
    cookieTemp = val;
    return val;
  },
  //hook get方法也就是取值的方法 
  get: function()
  {
   return cookieTemp;
  }
    });
})();

 

posted @ 2021-06-09 09:50  AngDH  阅读(1022)  评论(0编辑  收藏  举报