聲明
本文章中所有內(nèi)容僅供學(xué)習(xí)交流,抓包內(nèi)容、敏感網(wǎng)址、數(shù)據(jù)接口均已做脫敏處理,嚴(yán)禁用于商業(yè)用途和非法用途,否則由此產(chǎn)生的一切后果均與作者無關(guān),若有侵權(quán),請(qǐng)聯(lián)系我立即刪除!
網(wǎng)站
https://match.yuanrenxue.cn/match/20
網(wǎng)站分析
首先進(jìn)去網(wǎng)站,我們查看下接口
發(fā)現(xiàn)有兩個(gè)值是改變的
分別是sign
和 t
這個(gè)t有點(diǎn)像時(shí)間戳 ,但是不太確定
然后我們進(jìn)棧。
發(fā)現(xiàn)t確實(shí)是解析的時(shí)間戳
而這個(gè)sign 則是頁碼加上時(shí)間戳經(jīng)過一個(gè)sign的方法 構(gòu)建出來的,這個(gè)sign值有點(diǎn)像md5
抱著試一試的心態(tài)我們?cè)囅耺d5
發(fā)現(xiàn)什么都沒有
參數(shù)分析
既然t的數(shù)值已經(jīng)有了,也知道傳參的值了,那我們只要解析window.sign就行了
之后我們進(jìn)入這個(gè)函數(shù)
然后我們發(fā)現(xiàn)getStringFromWasm0(r0, r1)
這個(gè)函數(shù)返回的值就是我們所需要的值。
而且經(jīng)過多次測(cè)試 發(fā)現(xiàn)這個(gè)r0 和 r1 也是寫死的
這里就帶給我們考慮了,既然是寫死的,那這個(gè)值又怎么會(huì)每次都會(huì)變化呢?
我們進(jìn)入這個(gè)函數(shù)看看源碼
從這個(gè)函數(shù)可以看出他根本不是解密函數(shù)。這只是個(gè)還原解碼函數(shù),我們繼續(xù)往上看
發(fā)現(xiàn)這個(gè)ptr0 和這個(gè)len0 和r0,和r1有點(diǎn)像啊,我們不妨抱著試一試的心態(tài),把這個(gè)值放入 getStringFromWasm0
函數(shù)中
然后發(fā)現(xiàn),誒 這不就是我們一開始傳的值嗎,那更加確信了這不是個(gè)解碼函數(shù),而既然這個(gè)能還原出我們傳過去的值
看到了 _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"](retptr, ptr0, len0)
這個(gè)函數(shù)也是sign 而且和我們需要的值同名,說明這個(gè)才是我們加密的函數(shù)
我們進(jìn)入這個(gè)函數(shù)看看
發(fā)現(xiàn)這在一個(gè)wasm文件中,
作為一個(gè)沒有學(xué)過wasm語法的人,看到sign 下意識(shí)的就會(huì)回想,是不是和我們加密的函數(shù)sign有關(guān)系呢?
管他呢,我們搜索sign ,全部都打上斷點(diǎn),wasm也是文件,反正也會(huì)經(jīng)過的,只有經(jīng)過就肯定也會(huì)斷住。
把所有的關(guān)于sign的方法全部打上斷點(diǎn)。
然后發(fā)現(xiàn)在這個(gè)斷點(diǎn)中
他的長度和value都變了
經(jīng)過我們多次測(cè)試
發(fā)現(xiàn)這個(gè)后面多出來的值是個(gè)定值'2|1685613529000D#uqGdcw41pWeNXm'
然后我們放到MD5中加密看看值
一模一樣文章來源:http://www.zghlxwxcb.cn/news/detail-474629.html
結(jié)論
通過頁碼+時(shí)間戳+D#uqGdcw41pWeNXm再加上MD5加密 構(gòu)成了sign值文章來源地址http://www.zghlxwxcb.cn/news/detail-474629.html
到了這里,關(guān)于JS逆向?qū)崙?zhàn)16——猿人學(xué)第20題 新年挑戰(zhàn)-wasm進(jìn)階的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!