javascript
js 定时网页点击_反爬 JS 逆向,扣代码解密分析
挺久沒發爬蟲相關的教程啦,今天給大伙分享一下關于網站反爬對請求參數值的加密分析例子,主要還是看看思路。
定位加密點
在某網站中進行登錄請求:
簡單抓下包,點擊登錄按鈕之后,可以在瀏覽器的控制臺中看到相關的請求:
接著往下拉,可以看到 POST 請求的參數信息:
從中可以看出,除了 username 中的值比較明顯之外,其它的參數值看的都是一臉懵逼...
其中比較關鍵的幾個參數是:
1、pwdencrypt2、oauth_token3、vv
那么這時候是不是應該立刻去代碼中搜索上面這幾個字段呢?
不不不,這會增加我們的工作量,因為這些參數值有時候是加密的結果,也有時候是頁面返回的值。如果你一開始就去全局搜索字段, 分析到最后發現是取網頁的某個值,那豈不是浪費許多時間?
為了避免這種事情發生,我們可以直接拿剛剛 POST 請求中已經被加密的參數值搜一下,使用快捷鍵 CTRL + SHIFT + F 全局搜索 JS :
搜搜 vv 字段
搜搜 oauth_token 字段
搜搜 pwdencrypt 字段
從搜索結果中可以發現, oauth_token 和 vv 為網頁返回的值,而 pwdencrypt 全局搜索不到,大概率是加密的密文了,這樣一下子就干掉了兩個參數啦,接下來只需要分析 pwdencrypt 即可。
全局搜索一下 pwdencrypt 字段:
可以看到,這里 pwdencrypt出現在 Login.auth_v2.js 中,我們點進去看看:
可以看到:
pwdencrypt 在此使用了 RSAUtils.encryptedString 進行加密。
當然,你也可以在這里打個斷點,然后重新點擊登錄按鈕,來確定參數的加密位置:
扣取加密代碼函數
先把鼠標懸浮在函數名稱那,然后會彈出一個窗口來,你點一下就可以進入相關的函數了:
接著,你可能會一臉懵逼的看到一堆js代碼,不知道這么扣?不要慌,只要你遇到不是套娃的寫法以及一個Js文件多種方法實現的,簡單粗暴的全部復制粘貼就行了,這個就網站就是如此。
首先全選我們定位到的 JS 代碼,然后復制粘貼一波:
接著在 node 環境中運行這段 JS:
咦~報錯了,提示我們找不到 window 對象。
沒有window 那我們就在 JS 頭部定義一個 Window=this,定義完后再運行,如果這時候啥事沒發生,那就證明 JS 基本扣下來能用了。
那這么調用呢?
當然是他們怎么調我們就怎么調就行啦:
如果提示UDB不存在咋辦?
那就改為:
window.UDB.SDK.rsa.RSAUtils.encryptedString(password)
來測試一下吧:
運行一波:
你看,加密的結果是不是就得到了呀?
ok,以上!
ps: 本文思路由 {小帥b的朋友:lin 哥哥} 提供,小帥b希望今天的分享能給你帶來一點幫助,那么我們下回見啦,peace!
?
關注我
學習 Python 沒煩惱
你多點“贊”
我多點更新...
總結
以上是生活随笔為你收集整理的js 定时网页点击_反爬 JS 逆向,扣代码解密分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么电脑不能打字_嘉兴在线丨「生活经济
- 下一篇: jwt如何防止token被窃取_在吗?认