JS逆向中 cookie加密的HOOK方法

Object.defineProperty(obj, prop, descriptor)
其中,参数 obj 是要定义属性的对象,
       prop 是要定义或修改的属性名,
       descriptor 是属性描述符对象。
         属性描述符对象的属性包括 valuewritableenumerableconfigurablegetset 。这些属性中的大部分都是可选的,如果忽略它们,则它们将被设置为默认值 false

 

var cookieTemp ='';
Object.defineProperty(document,'cookie',{
    set:function (val){
    if (val.indexof('v') !=-1) {    //当val中包含‘V’的时候,就断住
        debugger;
    }
        console.log('Hook捕获到cookie设置->', val);
        cookieTemp = val;        //然后再把val赋值给 cookieTemp,返回出去,不改变原函数的逻辑
        return val;
},
    get:function (){
    return cookieTemp;
},
});            

这里的“V”是实际网页中 cookie的key,  可以在分析网站的时候,获取类似v的值,拿到这里来HOOK。
需要注意的是:1、 这段hook代码 放在控制台执行的,但是不能刷新网页,一旦刷新网页,这段代码就没有了。

       2、HOOK 住的这个断点,是cookie已经加密过的。如果想找到加密的点。下面就要跟栈了(在堆栈中往下找)。


       3、HOOK 前一定要先清除掉cookie

 

posted @ 2023-04-24 16:37  *感悟人生*  阅读(968)  评论(0编辑  收藏  举报