您好,登錄后才能下訂單哦!
python如何進行菠菜網站請求驗證碼的data參數加密邏輯分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
這個網站同樣來自群友投稿
aHR0cDovL ViMy5pZ3V aS5jb20vIy8=
需要分析的是刷新驗證碼提交的 data 參數
先搜索 data 參數,結果里檢索的到 200+ 的匹配項,所以暫時跳過這種定位方式
不過這個頁面的請求是 xhr 請求,所以還是用老方法 xhr 斷點看看
打上斷點之后重新刷新頁面
斷點是斷在y.send
的位置,這個是請求發出的地方,網上看堆棧可以看到堆棧里大多都是angular.js
相關的內容
“Angular 是一款十分流行且好用的 Web 前端框架,目前由 Google 維護
既然是框架內容,先暫時不看繼續向上看,可以看到下面幾個需要注意的堆棧
這里有好幾個vm
,點擊eval
對應的堆棧點進去可以看到下面這樣的代碼
雖然這樣里的代碼經過了混淆,不過還是可以通過關鍵字,分析出這里是一個post
請求構造的代碼
1 的位置可以看出這是一個 post 方法
2 的位置是構建參數 packet
3 的位置可以看出是完成上面packet
參數提交并完成請求提交,回調的地方
分析到這,打上斷點重新刷新看看
url 不是驗證碼請求的鏈接就放過
ps:其他請求可能也會走這個接口,為了準確性我們只分析需要的鏈接
直到這個位置的 url 顯示的是我們需要的鏈接
可以看到這里的參數 packet 是下面這樣的
經過cp
之后,經過幾層邏輯
傳到下面的結果和前面分析的請求提交的是類似的
這樣我們就找到了加密的位置了。
根據上面的操作找到加密的位置了,就繼續放過全部斷點重新進一次加密邏輯
這次要跟一次邏輯,看看經過 cp
之后都經過了什么操作,全部摳出來就完事了
先看cp
cp
這個方法里先做了一次判斷,進到JSON.stringify
之后傳入到下面的邏輯中
lz[_$_480d[1704]](data_to_cp, 3, on_finish, on_progress)
這里的lz[_$_480d[1704]]
是yt
函數,經過yt
函數之后得到的結果是bit array
之后又進入到bth
這個方法中
得到bth
的結果后,將這個結果hash
然后將hash
的結果與原結果拼接
var data = hex + md5(hex)
這樣我們就要扣出yt
與bth
即可,得出運行的結果如下
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。