爬蟲之如何找js入口(一)


目標網頁:https://m.gojoy.cn/pages/login/ 將我刪除i ndex?from=%2Fpages%2Fuser%2Findex

需要工具:chrome和油猴

油猴代碼:

// ==UserScript==
// @name         Json.stringify
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @include        *
// @grant        none
// ==/UserScript==

(function(){
    "use strict";
    var rstringify = JSON.stringify;
    JSON.stringify = function(a){
        console.log("Detect Json.stringify", a);
        return rstringify(a);
    }
})();

 

第一步,F12,在第三行數字上,右鍵選擇 Add conditional breakpoint, 用於越過反調試

 

 

 如果還是卡住那么,點擊這個,變成藍色

 

 

然后點擊 

 

 

 

 

 第二步,如果已經加載完成了, 隨便輸入賬號密碼,點擊登錄,查看Network里的新url。發現是login為登錄請求

 

 

點擊查看,發現下面有一串看不懂的參數,猜測這就是將賬號密碼等東西進行加密得出來的

 

 

嘗試一、全文搜索username , password   以找不到,失敗告終 

嘗試二、查看以什么格式加載的

首先看到Response Headers中有個Access-Control-Allow-Credentials:true 說明這個是個跨域請求

關掉詳細信息后看到是  xhr 方式加載

 

 

 

 

 

 打 XHR斷點,輸入 相應的字串,進行HOOK

 

 

 上述完成后,再次輸入好賬號密碼,登錄

如果沒問題的話就會停在

 

 

 

 call stack(回調調用棧)中,一個個往下點擊,直到看到類似於ajax加載的格式代碼

 

 

so,找到了s這個位置就很像ajax,然后在3643那個位置點擊左鍵,設置斷點

 

 

 

 

先點擊讓當前代碼先執行完畢,重新點擊頁面的登錄按鈕

 

 

沒什么意外就會停在s這個位置,從上到下將t,y,h,Q,u,d,全部在console中打印出來

 

 

 看到u的值證明沒找錯!!!說明就是通過這里進行與后端的通信,且根據Q這個函數進行的將u內容進行不知名的操作

所以可以猜測應該是這里得出了上面request中那一串很長的參數

 雙擊上面輸出內容中native code 就會跳轉到函數定義 (一般而言,natvie code是跟不進去的)

 

 

 跳轉后,找到這個函數return,所以點擊 { ,找到對應的 } ,找到返回值位置return a[o.m[[o.m.i[";"]]].q](o.m[[o.m.i[";"]]].x),給其打上斷點

 

 

 

 

 

 

 然后,還是先讓當前跑完,重新點擊登錄,然后就會停在新增加的斷點位置 

 

 

 接下來,在console打印出返回值

 

 

 出現個與login網頁中很相似的參數值,那么還是讓當前跑完,然后點擊Network查看最新的login的詳細信息,看看是不是一樣的

 

 

 

 然而很顯然一模一樣!!!!

所以說這個函數 , 對username和password操作后的出來的

 

 

 那么此時入口發現了,之后只需要execjs包執行或者,將js代碼翻譯為python代碼放進爬蟲中操作就可以了

 

上面為最常用的操作

============================================================================

接下來油猴腳本操作方式效果一樣,但是更快速定位!!!!

建好腳本后開啟,如何使用腳本,寫腳本這里暫不論述

 

 輸入好賬密后點擊登錄,console就會打印出下圖 ,然后點擊紅框位置,跳轉后打上斷點

 

 

 

 先執行完畢后,再重新點擊登錄,查看調用棧,點擊s

 

 

跳轉后,拖動滑動條到最左邊,看到位置2就和上面的所找到的js函數一摸一樣,方便很多對吧!!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM