Python爬蟲進階必備 | XX同城加密分析

  • 2019 年 10 月 8 日
  • 筆記

目標網站:

aHR0cHM6Ly9wYXNzcG9ydC41OC5jb20vbG9naW4vP3BhdGg9aHR0cHMlM0EvL2Z6LjU4LmNvbS8mUEdUSUQ9MGQxMDAwMDAtMDAxMy0wMjk0LTFjZWItYjU3NTBiZDIwNmU5JkNsaWNrSUQ9Mg==

抓包分析與加密定位

老規矩先抓包看看【圖1-1】

圖1-1

今天主要分析的是劃線的三個參數,先一個一個來研究一下。

先看看密碼的加密,按照之前的思路我們測試了password的相關搜索項,但是搜索出來的結果都不盡如人意。【圖1-2】

同時這個請求也不是XHR請求,所以xhr斷點也用不上了。

圖1-2

搜索的結果中比較有相關性的是【圖1-2】標註的部分,但是在文件的搜索項里搜索password是找不到加密位置的。

我簡單總結了幾種辦法,雖然並不一定適用於其他網站的加密,算是提供一種新的思路。

第一、搜索相關的的提示語,就像在之前的我做的第一個 APP 逆向的項目中,我就是搜索相關的提示語找到了扣費邏輯的代碼,這裡也可以按照這樣的思路。

在這個網站的加密里點擊登陸,點擊後按鈕變為登錄中...,搜索相關提示語再逐步打斷點一直追下去是可以找到加密位置的,不過這是個下下策,耗時太長,很容易追丟了,為了這個不值當。(不推薦使用)

第二、參考開頭的搜索關鍵字的方法,這裡搜索的是encrypt,經常遇到加密的變量或方法是encrypt(XX)這樣的形式。

第三、試試從網頁中找找答案,之前做過一些簡單的例子是將 js 的代碼直接寫到頁面中自執行或者採用隱藏域傳遞值的方式,比如:像PublicKey這類比較有特色的值,如果能找到對我們的幫助是很大的。

按照上面總結的幾種方法,我們再次搜索【圖1-3】

圖1-3

又搜索到這個熟悉的文件,這次我們進去搜索一次,這次找到了好多類似加密的地方,為了省事我把所有相關的值都打上了斷點,再次登錄。【圖1-4】

圖1-4

到這裡就定位到加密的地方了。

繼續追進去可以看到進入的是一個VM【圖1-5】

圖1-5

到這裡就沒有什麼難度了,密碼的加密就是 RSA + eval

如果你很幸運先找到了eval加密的地方,但是不知道怎麼解決,可以參考之前一篇關於js混淆的文章。

點我看文章

或者直接打開瀏覽器的開發者工具切換到console選項卡,把相關的eval代碼粘貼進去,將代碼開頭的eval替換為console.log,就可以得到原來的代碼了。【圖1-6】

圖1-6

接下來看的是兩個指紋相關的參數,這裡就比較簡單了,直接搜索fingerprint就可以找到相關加密文件,直接在裏面打斷點就可以了。【圖1-7】

這裡的注意點是想要重新生成指紋,記得要刷新頁面才可以。

關於指紋的加密生成講的比較簡單,需要學習案例的朋友可以訪問下面的網址。

https://lengyue.me/

也可以看看冷月大佬之前的關於某個網站指紋加密分析的視頻教程。

鏈接 : https://pan.baidu.com/s/1Y8pcacZbHF1DXW0znzmZKQ 密碼:vkmf

失效請留言。

EOF