您好,登錄后才能下訂單哦!
本篇內容主要講解“Python查詢參數的加密邏輯是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python查詢參數的加密邏輯是什么”吧!
先上鏈接:
aHR0cHM6Ly93d3cucWljaGFtYW8uY29tLw==
找到要分析的參數,通過首頁的檢索欄,輸入企業名稱關鍵字點擊查詢就可以抓到類似下面的兩個包。
上圖標記出來的mfccode
就是需要分析的加密參數
同樣的我留意到在上圖選中的上一個請求,看著像加密的請求,接下來通過斷點來分析是否為加密位置
在這個請求上打上XHR 斷點
重新發起請求之后就能看到成功斷上
通過分析堆棧找到下圖這個位置找到了加密的位置
通過斷點可以找到加密生成的地方
或者在堆棧的位置找到下圖這個位置也可以快速定位到加密的位置
找到加密的位置后接下來就要分析加密的邏輯了,打上斷點可以看到這里進入了一個VM
中
我們復制到美化網站中格式化后分析
在編輯器中可以大致看到這段代碼對cookie
中的qznewsite.uid
字段進行了操作
最后將 dc
方法的結果返回給了window.__qzmcf
,這個和我在網頁上斷點的結果相對應
只要能跑通這段 js 就可以完成這段加密了。
經過修改可以正常運行了,主要解決的就是關于 node 中調用 window、document 的問題
但是將結果帶入到 Python 代碼里并沒有如預期一樣返回搜索結果,而是返回了登陸的界面,這個結果讓我十分費解。
剛剛開始一直以為是我爬蟲代碼的問題,之后突然想到,這個 js 代碼是由對方返回給客戶端的,所以這個 js 代碼應該動態的。
經過對比,發現mov
以及sk
的長數組都是動態的,或許還有其他的代碼是動態的不過這間接的驗證了我的猜測。
所以 js 加密的代碼寫死調用是沒有辦法完成破解的,想通這一點,我只要將返回回來的 js 代碼動態的調用就可以了。
第一步、將 cookie 傳入,替換為第一次訪問首頁返回的 cookie 即可,不過之后測試這一步貌似沒有驗證,直接寫死也是可以的。
第二步、將服務端返回的動態調用,只要在靜態的代碼基礎上小修一下就行了,例如聲明window
,document
這些操作,之前的文章均有提及
第三步、調用window.__qzmcf
這個方法,完成加密參數的生成
完成上面的步驟之后重新調用就可以正確拿到網頁的結果了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。