javascript
js滚动条下拉一定值_JS逆向 | 无限Debugger之淘大象
置頂公眾號(hào)
今天繼續(xù)和大家研究JS逆向,不少小伙伴在JS逆向的時(shí)候遇到過(guò)無(wú)限debugger的反爬,今天就拿一個(gè)網(wǎng)站練練手感受下無(wú)限debugger。
分析請(qǐng)求
先打開(kāi)這次的目標(biāo)網(wǎng)站--淘大象(https://taodaxiang.com/credit2)
打開(kāi)「開(kāi)發(fā)者工具」就自動(dòng)進(jìn)入debug,我們先格式化看看能不能通過(guò)重寫(xiě)函數(shù)解決。
顯然不是很好解決,所以我們?cè)囋囃ㄟ^(guò)「條件斷點(diǎn)」的方法繞過(guò)這個(gè)反爬。
我們?cè)?3393 與 3395 行右鍵添加「Add Conditional breakpoint」并在出現(xiàn)的對(duì)話框中輸入「false」,這個(gè)時(shí)候無(wú)限debbuger的反爬就被我們繞過(guò)了。
雖然這里很快就繞過(guò)了反爬但是「條件斷點(diǎn)」有一定的局限性,這里推薦一篇文章以供學(xué)習(xí),就不再贅述。
https://segmentfault.com/a/1190000012359015
解決完反爬措施,我們刷新頁(yè)面查看頁(yè)面請(qǐng)求,很快就定位到請(qǐng)求接口、加密參數(shù)等信息。
請(qǐng)求接口:
加密參數(shù) sign :
定位加密位置
通過(guò)抓包請(qǐng)求我們定位到了接口和加密參數(shù),我們?cè)囍ㄟ^(guò)搜索sign關(guān)鍵字定位一下加密位置。
通過(guò)搜索我們找到三個(gè)包含關(guān)鍵字的文件,通過(guò)檢索文件,很快定位到了sign值加密的位置:
分析加密
很明顯這個(gè)js文件經(jīng)過(guò)一定程度的混淆,現(xiàn)在有兩種方法解決:
一是直接扣代碼,繞過(guò)debugger之后扣這個(gè)代碼不要太簡(jiǎn)單。
二是通讀加密,直接改寫(xiě)成python加密。
這個(gè)加密比較簡(jiǎn)單,整體是md5加密這點(diǎn)通過(guò)分析請(qǐng)求可以猜到,多次請(qǐng)求加密都不變,接下來(lái)就是分析是哪些字段加密成md5值。
這里比較明顯的是js中的兩段代碼:
_0x2c114b['XDFEp']這個(gè)方法是將字符串拼接
_0x2c114b['zANjZ']這個(gè)方法是取字符串的MD5值
經(jīng)過(guò)斷點(diǎn)調(diào)試,發(fā)現(xiàn)最后字符串是由「查詢的關(guān)鍵字」+ 「固定的key」+ 「查詢的關(guān)鍵字」+ 「type參數(shù)值」拼接成的。
比對(duì)兩種方式,通過(guò)python方法改寫(xiě)更加方便,主要代碼如下:
from hashlib import md5def md5value(s): a = md5(s.encode()).hexdigest() return a到這里這次的分析的網(wǎng)站 -- 淘大象 就被我們攻克了,這次的網(wǎng)站加密不是很難,主要難點(diǎn)是分析請(qǐng)求時(shí)的無(wú)限debugger。
其實(shí)其他同類型的網(wǎng)站還有很多,我推薦大家閱讀下面的文章,文章提到了其他解決debugger的方法希望對(duì)你有幫助。
推薦閱讀:JS逆向 | JSF*ck,這個(gè)看著頭大的加密其實(shí)很簡(jiǎn)單JS逆向 | 記一次翻車(chē)的練手經(jīng)歷Python爬蟲(chóng)進(jìn)階必備 | RSA 加密案例解析匯總(一)Python爬蟲(chóng)進(jìn)階必備 | 關(guān)于 AES 的案例分析與總結(jié)(一)Python爬蟲(chóng)進(jìn)階必備 | 關(guān)于AES 的案例分析與總結(jié)Python爬蟲(chóng)進(jìn)階必備 | MD5 hash 案例解析匯總(一)Python爬蟲(chóng)進(jìn)階必備 | 關(guān)于MD5 Hash 的案例分析與總結(jié)Python爬蟲(chóng)進(jìn)階必備 | XX同城加密分析Python爬蟲(chóng)進(jìn)階必備 | XX快藥 sign 加密分析與加密邏輯復(fù)寫(xiě)Python爬蟲(chóng)進(jìn)階必備 | X筆網(wǎng)密碼加密分析Python爬蟲(chóng)進(jìn)階必備 | X中網(wǎng)密碼加密算法分析Python爬蟲(chóng)進(jìn)階必備 | 極X助手加密算法分析Python爬蟲(chóng)進(jìn)階必備 | X博密碼算法扣取+如何去扣取一個(gè)完整的逆向案例Python爬蟲(chóng)進(jìn)階必備 | X天下與XX二手房密碼加密分析Python爬蟲(chóng)進(jìn)階必備 | X咕視頻密碼與指紋加密分析實(shí)戰(zhàn)案例淺析JS加密 - 基礎(chǔ)總結(jié)篇
實(shí)戰(zhàn)案例淺析JS加密 - RSA與XXTEA
實(shí)戰(zhàn)案例淺析JS加密(一) - DES與Base64
總結(jié)
以上是生活随笔為你收集整理的js滚动条下拉一定值_JS逆向 | 无限Debugger之淘大象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: react 导航条选中颜色_调整安卓手机
- 下一篇: easyui tree动态加载_动态路由