Adam師傅的經(jīng)驗(yàn),原文地址:https://xz.aliyun.com/t/8976 為什么要寫這個(gè)文章呢? 因?yàn)槲野l(fā)現(xiàn)很多白帽子,甚至很牛逼的(代碼能力遠(yuǎn)遠(yuǎn)比我厲害)都沒(méi)這樣玩過(guò),因?yàn)?strong>很多次項(xiàng)目基本上在大家沒(méi)輸出情況下,這些小技巧讓我收獲了很多不少漏洞。 當(dāng)然也許大佬們是看不起這些小漏洞小技巧,我寫的目的是為了那些大部分懶人,或者基本沒(méi)深入了解開發(fā)的,不深入理解代碼的,能快速繞過(guò)簡(jiǎn)單web簽名。 最后分享一些實(shí)戰(zhàn)中的小tips。 希望幫助更多的新鮮血液的白帽子多賺錢,官網(wǎng)說(shuō)法是多為了國(guó)家信息安全做貢獻(xiàn)。 (本文章是站在絕對(duì)黑盒的思路) 1 通過(guò)替換響應(yīng)包的值繞過(guò)簽名 通過(guò)替換響應(yīng)包的值繞過(guò)簽名原理分析:數(shù)據(jù)在數(shù)據(jù)包加密前輸入,其次該被修改的數(shù)據(jù)沒(méi)經(jīng)過(guò)多次正則處理直接進(jìn)入簽名算法的。 如果是正則替換了的可能只能用于簡(jiǎn)單int類型替換。(適用app的場(chǎng)景) 替換方法是: chorome debug 基礎(chǔ)和小技巧debug demo: https://googlechrome./devtools-samples/debug-js/get-started 用得比較多的快捷鍵: F9:跟著函數(shù)一步步走下去。(對(duì)象是代碼行) F10:跳過(guò)函數(shù)功能(對(duì)象是代碼的函數(shù)) F8 : 放行bebug
1 如果剛開始debug的小伙伴建議一步步跟這數(shù)據(jù)流走(F9),(比較熟悉的時(shí)候直接下斷點(diǎn)到27-33行) 2 step到這個(gè)函數(shù)然后可以debug這附近代碼:
debug繞過(guò)sign場(chǎng)景:(眾測(cè)好幾個(gè)實(shí)戰(zhàn),因?yàn)榘踩妥约捍虼a水平所以暫且無(wú)法公開案列)
比如我們的當(dāng)前功能就是字符串:sum=addend2+addend1;(想得到'A'+'B'='AC')但是你卻無(wú)法重放數(shù)據(jù),也無(wú)法修改數(shù)據(jù)包。(重放或者修改都會(huì)返回錯(cuò)誤,得不到想要的結(jié)果。這種情況可能是web簽名過(guò)程中里面處理了幾次數(shù)據(jù)。) 本來(lái) 正常功能是 A+B=AB,
3 如果經(jīng)驗(yàn)很豐富了,可以通過(guò)xhr,或者關(guān)鍵字搜索等等別的方法直接定位某個(gè)js的關(guān)鍵debug點(diǎn)。(很多大項(xiàng)目一個(gè)js可能十幾M) chrome debug查考文章:https://www.cnblogs.com/softidea/p/10451864.html web測(cè)試的一些經(jīng)驗(yàn)分享畸形數(shù)據(jù)包:
1 數(shù)據(jù)格式改變產(chǎn)生漏洞:(這些情況下可能跟繞過(guò)waf,可能產(chǎn)生新的漏洞。均有很多案例,比如某個(gè)src和銀行站點(diǎn),所有用戶都看了無(wú)數(shù)次,但是存在全站sql注入,本身數(shù)據(jù)包是get類型不存在,改成post也不存在,然后post編程multipart存在sql注入,比如這種情況pot的簡(jiǎn)單字段,改成json就存在了fastjson反序列化,99%數(shù)據(jù)包都不存在fsj漏洞,但是剛好有一個(gè)數(shù)據(jù)包修改了就存在。這種情況一般需要修改了數(shù)據(jù)包格式以后和修改前對(duì)服務(wù)器交互后的響應(yīng)包是一樣的基本可以參數(shù)漏洞。) 2 參數(shù)污染造成漏洞或者繞過(guò)waf(遇到過(guò)繞過(guò)上傳類型的實(shí)列) 再目標(biāo)id字段前面添加一個(gè)空字段或者再前面本身存在沒(méi)有影響的字段的內(nèi)容無(wú)限擴(kuò)充字符?;蛘弑M量無(wú)限創(chuàng)建無(wú)效的字段。 3 萬(wàn)能的js。js是參數(shù)漏洞最多最多的地方。比如vue的有些網(wǎng)址可以還原所有靜態(tài)邏輯文件。 當(dāng)前端是vue開發(fā)的網(wǎng)址,如果存在js.map文件(手動(dòng)添加.map)。比如https://wwww.baidu.com/app.js.map 下載app.js.map到本地。
然后用vscode查看desfile的文件。 侵權(quán)請(qǐng)私聊公眾號(hào)刪文 |
|
來(lái)自: zZ華 > 《安全測(cè)試》