增加Web页面Copy的难度
# Html # Javascript
今天刷中科大CTF的时候遇到十分罕见的禁止打开控台技术
https://heicore.com/
详细看这个黑曜石浏览器页面 有可能这个页面是为了CTF而存在
加载完成页面后,按F12
打开控制台你会发现页面会突然情况并且console内容无限cls
因为里面包含了这段有趣的代码。别看代码量少,但是段代码也许需要学习Javascript很久才能写出这东西。
setInterval(() = > {
var r = /./;
r.toString = function () {
eval("console.clear();");
document.documentElement.innerHTML = '';
};
if (navigator.userAgent.includes('Safari') && !navigator.userAgent.includes('Edge'))
console.log('%c', r);
},
50);
这段代码精髓
就在于重写toString这个方法,一个经常用到的方法却对判断是否打开控制台起到至关重要的作用。
原因就在于浏览器在渲染文字的时候会调用toString输出变量内容。而控制台没打开就等于没渲染出字体,从而没有调用到清空页面代码。
同时配合console.log('%c',r)
这段代进行输出内容到控制台,简直接近完美。