js 能不能检测到用户打开了浏览器的调试面板正在抓包? - V2EX
2020-12-31 12:51:22 Author: jp.v2ex.com(查看原文) 阅读量:247 收藏

V2EX = way to explore

V2EX 是一个关于分享和探索的地方

Dell

想屏蔽掉打开了浏览器调试面板的用户,js 除了监听“F12”、“Ctrl+Shift+I”的按键之外,还有哪些方法,求 V 友集思广益

ruanimal

1

ruanimal   2 小时 41 分钟前

开了浏览器调试面板的用户(大部分) = V2EX 用户
楼主来这里问,感觉有点意思

maocat

3

maocat   2 小时 38 分钟前   ❤️ 7

好的,我马上用 fiddler 抓包

ciqulover

4

ciqulover   2 小时 33 分钟前 via iPhone

最简单兼容性管广泛的办法是使用监听一个一个对象的 getter 事件然后 console.log 打印,控制台打开的时候会触发事件,在事件监听里直接 window.location.href 跳跑,正常情况没办法避开。

otakustay

6

otakustay   2 小时 31 分钟前

当你想和用 devtool 的人对着干,你就是在和一个技术人员对着来了,考虑到对方大概率的专业性,基本上你输定了

FaiChou

7

FaiChou   2 小时 28 分钟前

通过菜单栏点击进入 devtools 也能被监听到吗

opengps

8

opengps   2 小时 27 分钟前 via Android

没啥用,毕竟浏览器本身就是要解析看代码的

ciqulover

10

ciqulover   2 小时 26 分钟前

```
var element = new Image()
Object.defineProperty(element, 'id', {
get: function() {
window.location.href = 'https://google.com'
},
})
console.log(element)
```
直接上代码了,一步到位的办法。
V 友门倒是可以想一想是否有办法绕过这段代码调试 hhh 。

VDimos

11

VDimos   2 小时 24 分钟前 via Android

加个 debugger,打开了控制台会暂停,然后计时,长时间没执行就是打开了控制台

glaucus

13

glaucus   2 小时 18 分钟前

@des #2 试了一下,这个是监听的页面大小变化实现的,用弹出窗口打开就监听不到了

libook

15

libook   2 小时 18 分钟前

不开浏览器的开发者工具也可以抓包。

屏蔽了快捷键也可以拿鼠标在菜单里打开开发者工具。
可以在空白页先开开发者工具再加载 URL 。

如果想解决防抓包的问题可以考虑在 HTTPS 基础上再加一层加密通信,让抓到的包无法解读内容,当然因为客户端上横竖都会有加解密算法,所以也是可以破解的,只不过代码压缩混淆后可能破解难度会比较高。

总之,这个像是个 XY Problem 。

ss098

17

ss098   2 小时 13 分钟前 via iPhone

我遇到最多的是无限 debugger,但很简单就能禁用。

还有打开控制台疯狂 alert 的。

aogu555

18

aogu555   2 小时 13 分钟前

印象里国家知识产权局的反爬做的很厉害,一进控制台直接跳到加密代码去了

Track13

19

Track13   2 小时 8 分钟前 via Android

你写的什么?值得我打开 f12 看吗

love

21

love   2 小时 3 分钟前 via Android

这个我也碰到过,打开控制台浏览器直接卡死,可能是分配了大量内存什么的

test005

22

test005   2 小时 0 分钟前

我是这么做的

```
switch ( ua ) {
case 'firefox': {
var _reg = /x/
_reg.toString = kill
console.log(_reg)
break
}
case 'chrome': {
var _div = document.createElement('div')
Object.defineProperty(_div, 'id', {get: kill})
console.log(_div)
break
}
}
console.clear()
```

Rekkles

23

Rekkles   1 小时 48 分钟前

这个等于刚学武功的想拿内功去参加华山论剑

hafuhafu

24

hafuhafu   1 小时 34 分钟前

屏蔽不掉这些用户的,浏览器自带的开发者工具也只相当于整合了一些开发常用的插件,费尽心思让对方无法打开控制台,对方反手装一个插件或者应用,该抓包一样抓。

lbyo

25

lbyo   1 小时 32 分钟前

@ciqulover #10 换个浏览器就可以了,这是利用 Chrome 控制台输出 Object 的时候,会获取 Object 的 id 的原理


文章来源: https://jp.v2ex.com/t/740509#reply26
如有侵权请联系:admin#unsafe.sh