當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
js取字符串后四位_JS逆向 | 某验滑块加密参数逆向分析
生活随笔
收集整理的這篇文章主要介紹了
js取字符串后四位_JS逆向 | 某验滑块加密参数逆向分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聲明:本文只作學習研究,禁止用于非法用途,否則后果自負,如有侵權,請告知刪除,謝謝!
aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s抓包分析,看到一個加密參數w,全局搜索加密字段找不到可疑信息,同時又不是XHR所以無法下斷點, ?那該怎么定位?
通過Initiator可以看到與該請求有關的一個js文件,我們點進去看看。
怪不得搜不到相關信息,我們用 beautifier.io 美化一下代碼,然后放到編輯器里再搜索看看。
很快找到關鍵位置,可以看到,w值是 u + s , u值與a值有關,a值與o有關,o 中 userresponse、imgload、ep 不清楚是什么,我們分別在幾個位置下斷點。
拖動滑塊停在斷點處,暫不關心傳入的三個參數是什么,先來看看userresponse是如何生成的。
在控制臺查看相關信息,發現第二個參數challenge的值,我們只需要摳取$_CFO函數就行了。
摳取的過程寫教程比較麻煩,不會摳取的平時還需要多加練習,一波操作之后,userresponse搞定了。
接下來看看 imgload 是什么,從字面來看,圖片加載?多次調試會發現該值是變化的,暫時不知道是什么東西,或許對參數生成沒啥影響呢?繼續往下看。
ep的值好像是一堆時間戳,可不可以模擬一下呢?繼續往下看。
$_DDQ函數傳入的是一個字符串,由三部分拼接組成,第一部分多次測試發現應該是個定值,第二部分是取了challenge的前32個字符,后面一部分是o中passtime的值,而passtime的值又是傳入的參數n的值。下面摳取函數運行看看。
可以看到結果與上圖控制臺輸出的一致,rp的值搞定了,我們繼續調試看看s值是如何生成的。
我們找到了s的關鍵加密位置,new RSAKey().encrypt對一個字符串進行了加密操作, 字符串是通過調用某個函數生成的,繼續調試,找到相關的信息進行摳取。
不錯,s值出來了,繼續往下看。
AES加密?沒有進行測試,暫時選擇摳取,把AES先摳取出來,然后我們看到gjson.stringify,不知道對o做了什么,控制臺輸出一下,跟JSON.stringify的結果一樣,那我們是不是可以省掉這部分代碼的摳取呢?新手的話不要偷懶。第二個參數其實就是前面提到的RSAKey所加密的字符串。自己跟進去看看就知道了。繼續往下看。
對a的值進行Base64處理,我們直接摳取它的Base64就行了。接下來要做的就是看看我們摳取的w值生成算法是否有效。
獲取新的滑塊,拖動滑塊停到斷點處。我們只需要拿下面的四個值就可以測試。
這樣是不是成功了? 那么剩下的任務就是分析傳入的三個參數t、e、n到底是什么?
觀察調用棧,找到相關位置下斷點。這里重點講講l值是如何生成的。大概知道往一個函數里傳入了三個參數。第二和第三個參數是前面請求得來的,這個你們自己抓包去看,我們看看第一個參數是怎么生成的。這個是不是滑動軌跡呢?我們可以把加密代碼摳取出來,拿這個軌跡測試看看。
不錯,結果是一樣的!
知道了里面的三個參數值是怎么來的,接下來我們需要摳取這個函數,然后拿這三個值測試看看。
結果是一致的。新年第一篇教程就到這里了。祝各位朋友新年行大運,發大財!如果覺得教程不錯,幫忙分享轉發或者打賞鼓勵,謝謝!
總結
以上是生活随笔為你收集整理的js取字符串后四位_JS逆向 | 某验滑块加密参数逆向分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秘密使者剧情介绍
- 下一篇: angular ng-model中输入中