javascript
【JS 逆向百例】网洛者反爬练习平台第五题:控制台反调试
關注微信公眾號:K哥爬蟲,持續分享爬蟲進階、JS/安卓逆向等技術干貨!
文章目錄
- 聲明
- 逆向目標
- 逆向過程
聲明
本文章中所有內容僅供學習交流,抓包內容、敏感網址、數據接口均已做脫敏處理,嚴禁用于商業用途和非法用途,否則由此產生的一切后果均與作者無關,若有侵權,請聯系我立即刪除!
逆向目標
- 目標:網洛者反反爬蟲練習平臺第五題:控制臺反調試
- 鏈接:http://spider.wangluozhe.com/challenge/5
- 簡介:打開瀏覽器控制臺,控制臺 Console 位置輸出 bbbb[0] 可看見答案,填上答案提交即可。
逆向過程
我們直接打開控制臺,發現右鍵不能使用,直接 F12,頁面就會直接跳轉到首頁了,問題不大,新起一個頁面,先打開 F12 再進入頁面即可,此時可以看到控制臺在瘋狂輸出 div 標簽,如下圖所示:
這里比較尷尬的就是,雖然控制臺在不斷刷 div,但是對我們的輸入沒有太大影響,直接輸入 bbbb[0],往上找一找,就可以看到答案了,或者直接輸入 copy(bbbb[0]) 就直接把答案復制到粘貼板了。如下圖所示:
這個題不知道是什么原因,有可能是出題不太規范讓我們直接鉆空子了,作者的本意應該是讓我們去掉這個無限刷 div 的情況,再去獲取答案的,所以我們還是來分析一下源碼,可以看到輸出 div 的方法都在 5.js 里,直接點進去,是一個 setInterval 定時器方法:
處理方法有很多:
本次我們直接在控制臺 Hook,將定時器置空,這里注意,如果程序已經進入了定時器,再 Hook 是沒用的,所以正確的做法是在定時器前,比如 let div 的地方下個斷點,刷新網頁,再在控制臺輸入 setInterval = function() {}; 將定時器置空,再放開斷點輸入 bbbb[0] 獲取答案:
我們注意到控制臺有個報錯 Uncaught SyntaxError: Identifier 'div' has already been declared,這是因為在 JS 和頁面的 HTML 里各自聲明了一遍 div 導致的,在頁面的 HTML 里再次聲明時就會報錯,對我們結果的獲取沒有影響。至此,本題分析完畢。提交答案成功:
總結
以上是生活随笔為你收集整理的【JS 逆向百例】网洛者反爬练习平台第五题:控制台反调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Intel超频软件XTU更新 13代酷睿
- 下一篇: Scala进阶-函数练习