分析某個網(wǎng)站時候,比較詭異,打開console 時候,這樣:
網(wǎng)站被一塊“遮罩”擋住了,處于調(diào)試狀態(tài),不能繼續(xù)交互,跟下原因,這樣的代碼:
function isConsoleOpen() {
var startTime = new Date();
debugger ;var endTime = new Date();
return endTime - startTime > 100;
}
setInterval(()=>{
if (isConsoleOpen()) {
window.location.href = '';
}
}
, 400);
該站的某個js 腳本,設(shè)置了定時器,定時在檢測,如果console 是打開狀態(tài),則把調(diào)試狀態(tài)打開windows.location 設(shè)置為"",判斷是否打開console 邏輯為插入debuger,debuger 前后計算時間差是否大于一定時間。
這設(shè)置是防君子不防小人了,最多防防小白而已,沒有太大的意義。會打開console的開發(fā)者,難道不會繞過這個限制?
右鍵這個debuger,在彈出菜單點擊“add script to ignore list”
如果檢測出邏輯是在定時器內(nèi)執(zhí)行的,直接把頁面的所有定時器都關(guān)閉。在 console 內(nèi)執(zhí)行下面腳本即可。for (let i = 1; i < 99999; i++) window.clearInterval(i);
這個方法有個缺點,如果某些網(wǎng)頁可能會在外面重新加載一下js,會重新開啟定時器,所以不一定每次都能設(shè)置成功。禁止廣告的插件較多,使用類似Adblock Plus這樣的 禁廣告插件,把這個js 文件加入過濾列表即可,Adblock Plus設(shè)置如下:配置后,這個頁面會被插件禁止掉,刷新下頁面可以完美交互。如下也可以看到該腳本被插件禁止掉了。方案4:使用Fiddler、Burpsuite 對js 文件進行攔截(修改)缺點,F(xiàn)iddler mac版本不太好用,Burpsuite是收費軟件。總之,對于這種功能的繞過方法很多,最省時省力就是用方法1了,第三方工具或者插件都不用裝,點擊幾下鼠標,搞定。
該文章在 2023/11/28 11:49:33 編輯過