檢測(cè)到您已登錄華為云國(guó)際站賬號(hào),為了您更好的體驗(yàn),建議您訪問國(guó)際站服務(wù)網(wǎng)站 http://m.cqfng.cn/intl/zh-cn
不再顯示此消息
??參數(shù)大概分析之后,我們就找出對(duì)應(yīng)的js文件,來分析一下js是如何處理的參數(shù) 選擇文件,點(diǎn)擊啟動(dòng)器,然后可以隨便點(diǎn)擊一個(gè)文件,然后點(diǎn)擊它。
js逆向 js逆向就是從網(wǎng)頁的js找到加密的參數(shù),實(shí)現(xiàn)破解加密,拿到cookie 微博登錄案例 手動(dòng)操作流程 訪問首頁https://weibo.com 輸入用戶名和密碼 點(diǎn)擊登錄 如果有驗(yàn)證碼,就輸入驗(yàn)證碼驗(yàn)證 成功跳轉(zhuǎn)到微博首頁面 1.請(qǐng)求分析
首先我們來了解下什么是字體反爬: 為了能夠更加清除的知道什么是字體反爬,我們直接上圖看一下。 大家看一下,很明顯的就能發(fā)現(xiàn)我們正常瀏覽能夠看到數(shù)據(jù),但是當(dāng)我們打開Elements面板定位到對(duì)應(yīng)元素上時(shí)發(fā)現(xiàn)竟然不是我們?cè)陧撁嫔峡吹降臄?shù)據(jù),而是一些特殊的符號(hào)。我們按Ctrl+U
分析js1.打上斷點(diǎn)之后,我們?cè)俅吸c(diǎn)擊登錄,停在了我們打斷點(diǎn)的地方2.我們跟進(jìn)去加密函數(shù),代碼格式化,RSA.min.js,明顯就是 RSA算法,我們把所有的 js拷貝出來3.我們分析key_to_encode,我們?nèi)炙阉饕幌?,可以搜索到,我們?fù)制下來4.仿照上面的方式,我們寫一個(gè)加密函數(shù)
四.系統(tǒng)命令方式 如果不需要返回結(jié)果:os.system("node xxx.js")需要返回結(jié)果: value = os.popen("node xxx.js").read() 五.交流學(xué)習(xí) 加我好友,拉你進(jìn)群,現(xiàn)在快開6群了,學(xué)習(xí)氛圍濃,注意,嚴(yán)禁討論破解相關(guān)的話題。
猿人學(xué)爬蟲比賽第十二題 地址: http://match.yuanrenxue.com/match/12
其實(shí)不然,可以考慮這樣的一種情況: 加密的參數(shù)是動(dòng)態(tài)的js返回的,而動(dòng)態(tài)的js又被AAEncode加密了,或者某個(gè)字段被混淆了,而且請(qǐng)求一次變化一次,這是無法在控制臺(tái)運(yùn)行的,因此可以寫個(gè)代碼將其還原,然后提取有效信息即可。
JS逆向加密解密工具Crypto Magician、樂易助手、WT-JS 下載使用 文章目錄 前言 一、Crypto Magician 1.下載地址 2.部分功能展示 二、樂易助手 1.下載地址 2.部分功能展示 三、WT-JS 1.下載地址 2.部分功能展示
聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負(fù),如有侵權(quán),請(qǐng)告知?jiǎng)h除,謝謝! 下面的代碼是我在某網(wǎng)站隨便找的一段base64的 javascript 源碼: window = {};window.atob = function(r) { e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
在密碼學(xué)中,PRNG 全稱是 pseudorandom number generator,即偽隨機(jī)數(shù)生成器,是指通過特定算法生成一系列的數(shù)字,使得這一系列的數(shù)字看起來是隨機(jī)的,但是實(shí)際是確定的,所以叫偽隨機(jī)數(shù),感興趣的朋友可以深入研究一下,在這里我們知道 rng.js 可能還依賴于
賦值是往調(diào)用a函數(shù)的返回值給a傳入16 然后分析a函數(shù) 相當(dāng)于a返回的就是一串隨機(jī)字符串 然后繼續(xù)往下看 因?yàn)槲覀冎霸谶@里可以看到params拼接的就是encText 以及encSecKey拼接的encSecKey 剛好就是這倆 然后這里看 因?yàn)閏里面是加密 并且不產(chǎn)生隨機(jī)數(shù)
我相信大家都遇到過這樣的問題,有個(gè)兄弟是這么回答了,并完美解決: 可以把源碼保存到本地,然后用fiddler的atuo response替換線上的js調(diào)試 如果js本身對(duì)替換不做檢測(cè),是可以使用這種辦法解決的,當(dāng)然替換的方式有很多種,我所知道的就來盤點(diǎn)一下。
r.wordsToBytes 和 s,在控制臺(tái)看看t,e的值: t是上面講到的固定的實(shí)參,e則未定義,不用理會(huì),因此我們先將s函數(shù)扣出來看看,按照上面的方法,控制臺(tái)輸入s并回車跟進(jìn),來到這里: 一直到這里,都是與s相關(guān)的代碼: 因此,將這段代碼扣出來,保存到文件(我這里命名為md5.js
實(shí)戰(zhàn)地址 http://match.yuanrenxue.com/match/3 抓包分析 地址欄輸入 地址,按下F12并回車,發(fā)現(xiàn)數(shù)據(jù)在這里: 請(qǐng)求中有個(gè) sessionid 字段的cookie,估計(jì)需要該值: 點(diǎn)擊第二頁,再分析,如下: 原來先訪問了 : http://match.yuanrenxue.com
之前寫過一篇文章,使用pywasm來導(dǎo)出wasm里的函數(shù),具體內(nèi)容見下面的文章: JS逆向:Wasm文件導(dǎo)出函數(shù)的調(diào)用|猿人學(xué)爬蟲對(duì)抗賽第十五題 依然以猿人學(xué)的題目作為練手地址,看看今天介紹的2種wasm文件的解法。
JS逆向 Frida - 夜神模擬器安裝配置 基本使用 文章目錄 前言 一、Frida簡(jiǎn)單介紹?
進(jìn)一步調(diào)試發(fā)現(xiàn) JS 加密使用的是一個(gè)插件,直接下載對(duì)應(yīng) JS 如下 https://res.Python混淆.com/resources/public/user/zhiyou/js/jsencrypt.min.js 在本地搭建一個(gè) JS 代碼可以運(yùn)行的環(huán)境 編寫如下代碼,其中涉及上述提及的文件
hex_md5(mwqqppz) 1 變成: var timestamp=Date.parse(new Date()); f = hex_md5(timestamp.toString()) + "|" + timestamp/1000;; console.log(f) 123 保存為js
如果你不想打印上面的日志,可以將這個(gè)函數(shù)進(jìn)行改寫: var v_console_log = function(){{}} 這個(gè)插件試用了幾天,已經(jīng)解決了很多網(wǎng)站的加密,幾乎可以說js逆向有手就行,當(dāng)然,你需要一些js逆向分析的功底。畢竟它只是幫你補(bǔ)環(huán)境。
實(shí)戰(zhàn)地址 http://match.yuanrenxue.com/match/12 抓包分析 地址欄輸入 地址,按下F12并回車,發(fā)現(xiàn)數(shù)據(jù)在這里: 仔細(xì)分析,無cookie,只有一個(gè) 加密的m參數(shù),控制臺(tái)atob解碼一下: 暫時(shí)還無法發(fā)現(xiàn)規(guī)律,繼續(xù)請(qǐng)求第二頁,并將加密參數(shù)解碼: 這下規(guī)律清楚了