1. 一個(gè)反爬 JS 逆向分析的例子

        共 1337字,需瀏覽 3分鐘

         ·

        2020-08-19 18:19



        挺久沒發(fā)爬蟲相關(guān)的教程啦,今天給大伙分享一下關(guān)于網(wǎng)站反爬對請求參數(shù)值的加密分析例子,主要還是看看思路。

        定位加密點(diǎn)

        在某網(wǎng)站中進(jìn)行登錄請求:



        簡單抓下包,點(diǎn)擊登錄按鈕之后,可以在瀏覽器的控制臺(tái)中看到相關(guān)的請求:






        接著往下拉,可以看到 POST 請求的參數(shù)信息:




        從中可以看出,除了 username 中的值比較明顯之外,其它的參數(shù)值看的都是一臉懵逼...

        其中比較關(guān)鍵的幾個(gè)參數(shù)是:

        1、pwdencrypt
        2、oauth_token
        3、vv

        那么這時(shí)候是不是應(yīng)該立刻去代碼中搜索上面這幾個(gè)字段呢?

        不不不,這會(huì)增加我們的工作量,因?yàn)檫@些參數(shù)值有時(shí)候是加密的結(jié)果,也有時(shí)候是頁面返回的值。如果你一開始就去全局搜索字段, 分析到最后發(fā)現(xiàn)是取網(wǎng)頁的某個(gè)值,那豈不是浪費(fèi)許多時(shí)間?


        為了避免這種事情發(fā)生,我們可以直接拿剛剛 POST 請求中已經(jīng)被加密的參數(shù)值搜一下,使用快捷鍵 CTRL + SHIFT + F 全局搜索 JS :


        搜搜 vv 字段





        搜搜?oauth_token?字段





        搜搜?pwdencrypt 字段





        從搜索結(jié)果中可以發(fā)現(xiàn), oauth_token 和 vv 為網(wǎng)頁返回的值,而 pwdencrypt 全局搜索不到,大概率是加密的密文了,這樣一下子就干掉了兩個(gè)參數(shù)啦,接下來只需要分析 pwdencrypt 即可。



        全局搜索一下?pwdencrypt 字段:





        可以看到,這里?pwdencrypt 出現(xiàn)在 Login.auth_v2.js 中,我們點(diǎn)進(jìn)去看看:




        可以看到:


        pwdencrypt 在此使用了 RSAUtils.encryptedString 進(jìn)行加密。


        當(dāng)然,你也可以在這里打個(gè)斷點(diǎn),然后重新點(diǎn)擊登錄按鈕,來確定參數(shù)的加密位置:






        扣取加密代碼函數(shù)



        先把鼠標(biāo)懸浮在函數(shù)名稱那,然后會(huì)彈出一個(gè)窗口來,你點(diǎn)一下就可以進(jìn)入相關(guān)的函數(shù)了:







        接著,你可能會(huì)一臉懵逼的看到一堆js代碼,不知道這么扣?不要慌,只要你遇到不是套娃的寫法以及一個(gè)Js文件多種方法實(shí)現(xiàn)的,簡單粗暴的全部復(fù)制粘貼就行了,這個(gè)就網(wǎng)站就是如此。



        首先全選我們定位到的 JS 代碼,然后復(fù)制粘貼一波:






        接著在 node 環(huán)境中運(yùn)行這段 JS:







        咦~報(bào)錯(cuò)了,提示我們找不到 window 對象。


        沒有window 那我們就在 JS 頭部定義一個(gè) Window=this,定義完后再運(yùn)行,如果這時(shí)候啥事沒發(fā)生,那就證明 JS 基本扣下來能用了。


        那這么調(diào)用呢??


        當(dāng)然是他們怎么調(diào)我們就怎么調(diào)就行啦:





        如果提示UDB不存在咋辦?


        那就改為:


        window.UDB.SDK.rsa.RSAUtils.encryptedString(password)


        來測試一下吧:






        運(yùn)行一波:






        你看,加密的結(jié)果是不是就得到了呀?



        ok,以上!



        ps: 本文思路由?{小帥b的朋友:lin 哥哥} 提供,小帥b希望今天的分享能給你帶來一點(diǎn)幫助,那么我們下回見啦,peace!




        掃一掃

        學(xué)習(xí) Python 沒煩惱








        你多點(diǎn)“在看”

        我多點(diǎn)更新...

        瀏覽 65
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 日日av拍夜夜添久久免费浪潮 | 99热在线看 | 亚洲视频在线免费观看 | 日韩一级免费黄片 | 嗯~用力啊~嗯~c我~文鑫 |