聲明
本文章中所有內(nèi)容僅供學(xué)習(xí)交流,抓包內(nèi)容、敏感網(wǎng)址、數(shù)據(jù)接口均已做脫敏處理,嚴(yán)禁用于商業(yè)用途和非法用途,否則由此產(chǎn)生的一切后果均與作者無關(guān),若有侵權(quán),請聯(lián)系我立即刪除!
目標(biāo)網(wǎng)站
https://match.yuanrenxue.cn/match/2
網(wǎng)站分析
首先已經(jīng)告訴了我們這個網(wǎng)站是動態(tài)cookie,所以我們首先打開devtools看看哪個cookie,然后我們用代碼運行下
然后發(fā)現(xiàn)cookie的有效期很短,我們搜索有沒有set_cookie 發(fā)現(xiàn)并沒有
然后我們用fiddler 抓包看看
我們搜索這個cookie的值
有時候可能hook不到值,沒關(guān)系 點擊下一頁去hook 不要刷新去hook
發(fā)現(xiàn)是從第二請求開始的,所以cookie 大概率是第一個請求哪里生成的 cookie
cookie斷點分析
在次之前,我們打開瀏覽器中去找cookie的生成點。
打開腳本 按步追棧追到這個cookie生成的文件中。也就是第一個請求發(fā)送的地方
然后我們放開斷點。
走到m這個斷點的地方。然后向下追棧
然后就找到了m的生成地址了
把他們都替換掉
document["cookie"] = _0x1451c6['FZXLU'](_0x1451c6['FZXLU'](_0x1451c6['TWByt'](_0x1451c6['eKhua'](_0x1451c6['eKhua'](_0x1451c6['zzVOs']('\x6d', _0x1451c6['PUMJe'](_0x52509a)), '\x3d'), _0x1451c6['kbttD'](_0x57de99, _0x4b00b1)), '\x7c'), _0x4b00b1),
_0x1451c6['GBiTC']);
再分解
由此可知
_0x1451c6['kbttD'](_0x57de99, _0x4b00b1) + "|" + _0x4b00b1
'6c0a673aa5ac9a0d6d06d93c80e399dc|1685066745000'
- _0x1451c6['kbttD'](_0x57de99, _0x4b00b1) : cookie
- _0x4b00b1: 時間戳
扣代碼
====>
可改寫成
_0x1f5c0f['uHywV'] = function(_0x167a6d, _0x403944) {
return _0x167a6d < _0x403944;
}
;
后面就是逐步扣代碼
注意
- 扣的時候一定要有耐心
- 注意有坑,正則校驗 直接搜索 new Regex
這是文中的兩處正則格式化校驗 修改成如下
1.. 'removeCookie': function() {return 'dev';},
2. this['husxWe'] = function() {return 'newState';}
- node 環(huán)境定義
var window = global;
-
瀏覽器環(huán)境檢測 需要定義一個navigator
可見這個是瀏覽器指紋
有兩種解決方案- 直接把這個地方替換成 ''
因為瀏覽器執(zhí)行出來的也是空 - 重新偽裝navigator 補環(huán)境
- 直接把這個地方替換成 ''
-
history 未被定義 console.log 被重寫
等到最后打印的收會報錯
這里也有兩種解決方案 -
在最開始的時候定義console.log 把console.log 賦值給另一個值
result = console.log;
- 用console.warn,console.debug (總有一個沒被改寫)
完成
后面就是缺啥補啥 其實非常麻煩。
然后補完之后運行我們的代碼文章來源:http://www.zghlxwxcb.cn/news/detail-459723.html
成功生成m的值,然后我們丟到python中運行
可以成功運行文章來源地址http://www.zghlxwxcb.cn/news/detail-459723.html
到了這里,關(guān)于JS逆向?qū)崙?zhàn)14——猿人學(xué)第二題動態(tài)cookie的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!