【聲明】本文僅限技術(shù)交流學(xué)習(xí),如有侵權(quán)請(qǐng)聯(lián)系我刪除。
1. 前言
今天在搞企查查的時(shí)候,發(fā)現(xiàn)企查查開啟了無限 debugger,右鍵檢查打開調(diào)試窗口后,無論在企查查頁面進(jìn)行任何操作,都會(huì)進(jìn)入 debugger 調(diào)試狀態(tài)。
如下圖:

按照常規(guī)的思路,找到 debugger 關(guān)鍵字,之后禁用調(diào)試或者添加 false 條件,不執(zhí)行 debugger 就可以了,但是當(dāng)我全局搜索 debugger 關(guān)鍵字的時(shí)候,卻發(fā)現(xiàn) js 文件中的 debugger 竟然有三千多個(gè),瞬間心里三千只草泥馬奔騰而過。

此時(shí),我嘗試分析 js 文件,搞清楚 debugger 函數(shù)的執(zhí)行邏輯,但是經(jīng)過分析發(fā)現(xiàn),debugger 的執(zhí)行邏輯全部封裝在一個(gè)匿名函數(shù)里,當(dāng)請(qǐng)求返回的時(shí)候函數(shù)會(huì)自動(dòng)執(zhí)行,不要監(jiān)聽任何事件即可完成 debugger 調(diào)用。

2. Fiddler 攔截思路
這個(gè)時(shí)候只能祭出大殺器 fiddler,采用中間人攻擊的方式篡改 js 文件。
這里再簡單介紹一下 Fiddler,可能很多人知道 Fiddler 是一個(gè)抓包工具,但其實(shí) Fiddler 的作用遠(yuǎn)不止于此。
Fiddler 是一個(gè) http 協(xié)議調(diào)試工具,F(xiàn)iddler 數(shù)據(jù)抓包軟件能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊,并可以設(shè)置斷點(diǎn)、查看所有的“進(jìn)出”Fiddler的數(shù)據(jù),還可以自定義修改 cookie、html、js、css 等文件。
這里我將攔截企查查返回的 js 文件,并用篡改后的 js 文件取而代之,從而實(shí)現(xiàn)規(guī)避無限 debugger 的目的。
3. 獲取 js 路徑
如下圖所示,獲取 js 文件的 url 路徑。

4. 篡改 js 文件
這里,首先將 js 文件保存到本地,之后將 debugger字符串替換成false。
注意:debugger 前面有空格,替換時(shí)最好帶上空格,因?yàn)橛行┪恢靡渤霈F(xiàn)了
debugger字符串,但是并不是我們需要替換的函數(shù)。

5. Fiddler 攔截
在 AutoResponder中添加規(guī)則,如下圖所示。

6. 重新請(qǐng)求
此時(shí),無限 debugger 已經(jīng)不再出現(xiàn)。
