您好,登錄后才能下訂單哦!
這篇文章主要介紹“JS逆向技術如何使用”,在日常操作中,相信很多人在JS逆向技術如何使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JS逆向技術如何使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
先打開這次的目標網站--淘大象(https://taodaxiang.com/credit2)
打開「開發者工具」就自動進入debug,我們先格式化看看能不能通過重寫函數解決。
顯然不是很好解決,所以我們試試通過「條件斷點」的方法繞過這個反爬。
我們在 3393 與 3395 行右鍵添加「Add Conditional breakpoint」并在出現的對話框中輸入「false」,這個時候無限debbuger的反爬就被我們繞過了。
解決完反爬措施,我們刷新頁面查看頁面請求,很快就定位到請求接口、加密參數等信息。
請求接口:
加密參數 sign :
通過抓包請求我們定位到了接口和加密參數,我們試著通過搜索sign關鍵字定位一下加密位置。
通過搜索我們找到三個包含關鍵字的文件,通過檢索文件,很快定位到了sign值加密的位置:
很明顯這個js文件經過一定程度的混淆,現在有兩種方法解決:
一是直接扣代碼,繞過debugger之后扣這個代碼不要太簡單。
二是通讀加密,直接改寫成python加密。
這個加密比較簡單,整體是md5加密這點通過分析請求可以猜到,多次請求加密都不變,接下來就是分析是哪些字段加密成md5值。
這里比較明顯的是js中的兩段代碼:
_0x2c114b['XDFEp']
這個方法是將字符串拼接
_0x2c114b['zANjZ']
這個方法是取字符串的MD5值
經過斷點調試,發現最后字符串是由「查詢的關鍵字」+ 「固定的key」+ 「查詢的關鍵字」+ 「type參數值」拼接成的。
比對兩種方式,通過python方法改寫更加方便,主要代碼如下:
from hashlib import md5def md5value(s): a = md5(s.encode()).hexdigest() return a
到此,關于“JS逆向技術如何使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。