snippet利用Hook脚本定位

定位header关键字:

(function (){
    var org = window.XMLHttpRequest.prototype.setRequestHeader;
    window.XMLHttpRequest.prototype.setRequestHeader = function (key,value){
        //在请求中发现某个关键字,断点
        if(key=='value'){
            debugger
        }
        return org.apply(this,arguments)
    }
})()

这段代码的目的是在设置包含特定键的HTTP请求头时,自动触发一个断点。这可以用于调试或监视特定的网络请求头设置。

定位url关键字:

(function () {
    var open = window.XMLHttpRequest.prototype.open;
    window.XMLHttpRequest.prototype.open = function (method, url, async) {
        if (url.indexOf("key") != -1) {
            debugger;
        }
        return open.apply(this, arguments);
    };
})();

这段代码的目的是在发送包含特定字符串(在这个例子中是"key")的HTTP请求的URL时,自动触发一个断点。这可以用于调试或监视特定的网络请求。

定位cookie关键字:

(function() {
    "use strict";
    var cookieTemp = "";
    Object.defineProperty(document, "cookie", {
        set: function(val) {
            if (val.indexOf("cookie的参数名称") != -1) {
                debugger ;
            }
            cookieTemp = val;
            return val;
        },
        get: function() {
            return cookieTemp;
        }
    })
}
)();

Object.defineProperty(document, “cookie”, { … }) 这行代码使用Object.defineProperty方法修改了document对象上cookie属性的行为。现在,每当尝试获取或设置document.cookie的值时,都会分别调用定义的getter和setter函数。
这段代码演示了如何使用JavaScript的Object.defineProperty方法来拦截和自定义对document.cookie属性的访问和修改行为。

定位JSON.stringify、JSON.parse:

'''请求是密文'''
(function() {
    var _stringify = JSON.stringify;
    JSON.stringify = function(ps) {
        console.log("Hook JSON.stringify ——> ", ps);
        debugger;
        return _stringify(ps);  // 不改变原有的执行逻辑 
    }
})();

'''响应是密文'''
(function() {
    var _parse = JSON.parse;
    JSON.parse = function(ps) {
        console.log("Hook JSON.parse ——> ", ps);
        debugger;
        return _parse(ps);  // 不改变原有的执行逻辑 
    }
})(); 

一般用于请求和响应是密文。当请求加密时,会先将对象进行JSON.stringify处理,使对象变成json字符串格式,然后进行加密处理;当响应解密时,会对解密后的字符串进行JSON.parse处理,使json字符串变成对象,方便后续调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值