js破解之补浏览器环境的两种监控方式 学习资源 Web逆向 原创

花儿谢了 4月前 5979

1,首先要说的肯定是 Proxy 了,介绍就不说了,直接上代码:

window = new Proxy(global, {
    get: function (target, key, receiver) {
        console.log("window.get", key, target[key]);
        if (key=="location"){
            location = new Proxy(target[key], {
                get: function (_target, _key, _receiver) {
                    console.log("window.get", key, _key, _target[_key]);
                    if (_key=="port"){console.log("关注公众号【妄为写代码】")}
                    return _target[_key];
                }
            })
        }
        return target[key];
    },
    set: function (target, key, value, receiver) {
        console.log("window.set", key, value);
        target[key] = value;
    }
});

window.a = {};
window.a;
window.location = {a: 2};
window.location.a;
window.b = {a: 2};
window.b.a;
location.port;
console.log("--------------");
window.location.port

node 环境执行结果:

重点关注【嵌套Proxy】和【重复Proxy】


2,对象属性的 hook 方式

先在浏览器中获取window的属性:

重点关注【未在固定范围的新增属性】和【对比两种方式的 location.port】和【多层属性的获取 window.location.port


3,这个监控的作用就不用说了吧,就是大家常说的缺哪补哪需要用到的,现在补环境的场景越来越多了,一些知名 js 反爬产品,就可以用这个思路,环境补的好,可以到处用,还能省好多事,一举多得。

嗯,我也准备学大家开始【佛系】社群运营了,大家可以扫码进群一起交流技术,nice to meet you.

4,补充


最新回复 (83)
  • haonit 8天前
    0 84
    xxl
  • 0 83
    学习了
  • 0 82
    学习了
  • 0 81
    666
  • 哈哈 12天前
    0 80
    666
  • cpp000 13天前
    0 79
    666
  • jasonxgw 13天前
    0 78
    666
  • 13天前
    0 77
    666
  • 0 76
    支持下。
  • 0 75
    看看
  • Ouchisan 1月前
    0 74
    666
  • fuck 1月前
    0 73
    6
  • 0 72
    666666666666666
  • ascii 1月前
    0 71
    kankan
  • bridge 2月前
    0 70
    1
  • 0 69
    1
  • 0 68
    66666
  • 0 67
    6
  • 花儿谢了 2月前
    0 66
    对对对对 提问。浏览器环境下对window监听为啥不会生效...
    window不能再赋值啊
  • soshao 2月前
    0 65
    66666666
  • 0 64

    提问。浏览器环境下对window监听为啥不会生效...


  • cwxiang 2月前
    0 63
    1111
  • winya2f 2月前
    0 62
    666
  • rezalt 2月前
    0 61
    666
  • lip 2月前
    0 60
    666
  • 0 59
    6666
  • 0 58
    6666666666
  • xiaodong 2月前
    0 57
    666
  • 1oop 2月前
    0 56
    666
  • 0 55
    6666
  • 0 54
    111
  • yuanbug 3月前
    0 53
    666
  • dawn 3月前
    0 52
    niuniuniu
  • 0 51
    搞起 
  • iwxiao 3月前
    0 50
    花哥 牛逼。
  • 0 49
    six six six
  • 0 48
    花哥666666
  • 0 47
    666
  • lysS 3月前
    0 46
    555
  • krapnik 3月前
    0 45
    很溜,学习了~
  • zjy6622 3月前
    0 44
    look

  • 789十 3月前
    0 43
    666
  • 0 42
    俺也康康
  • zhufo44 3月前
    0 41
    666
  • 0 40
    000
  • alichuyi 3月前
    0 39
    see more
  • Jane 3月前
    0 38
    看看
  • cxccc 3月前
    0 37
    看看
  • linix 3月前
    0 36
    666
  • Jrb 3月前
    0 35
    666
  • spring 3月前
    0 34
    kk
  • ayuge 3月前
    0 33
    学习
  • bcoj 4月前
    0 32
    kk
  • 花儿谢了 4月前
    0 31
    fengqingyang 二维码过期了,求更新
    公众号有进群方式
  • 0 30
    二维码过期了,求更新
  • 0 29
    1
  • vip 4月前
    0 28
    66666
  • everou 4月前
    0 27
    学习一下
  • buging 4月前
    0 26
    6
  • 七仔 4月前
    0 25
    111
  • 0 24
    6666
  • 0 23
    感谢楼主!
  • 0 22
    6
  • 西木 4月前
    0 21
    刚好用得上 学习学习
  • 0 20
    666
  • allen 4月前
    0 19
    666
  • 0 18
    6
  • bwy 4月前
    0 17
    666
  • Rocky 4月前
    0 16
    666
  • shihw 4月前
    0 15
    666
  • ch 4月前
    0 14
    666
  • 0 13
    z
  • Echo 4月前
    0 12
    666
  • wxs 4月前
    0 11
    不错
  • yoozhen 4月前
    0 10
    学习学习
  • nanxun 4月前
    0 9
    卡一眼
  • 0 8
    学习
  • strive 4月前
    0 7
    看看
  • stone 4月前
    0 6
  • xhyzwhh 4月前
    0 5
    666
  • 丁仔 4月前
    0 4
    666
  • 花儿谢了 4月前
    0 3
    daisixuan 多层嵌套处理方法
    谢谢补充,instanceof 好评
  • 0 2

    多层嵌套处理方法

返回