在十大漏洞中,邏輯漏洞被稱為“不安全的對(duì)象引用,和功能訪問控制缺失”,在漏洞中占用比例比較高,那么到底什么是邏漏洞呢? 概念:邏輯漏洞是指由于程序邏輯輸入管控不嚴(yán)或者邏輯太復(fù)雜,導(dǎo)致程序不能夠正常處理或處理錯(cuò)誤。
邏輯漏洞根據(jù)功能需求的不同產(chǎn)生的漏洞方式也不同,一般出現(xiàn)在網(wǎng)站程序的登陸注冊(cè)、密碼找回、驗(yàn)證方式、交易支付金額等地方。
有些系統(tǒng),手機(jī)獲取驗(yàn)證碼的時(shí)候,沒有對(duì)驗(yàn)證碼的驗(yàn)證次數(shù)進(jìn)行限制,或者是沒有對(duì)驗(yàn)證碼的有限時(shí)間進(jìn)行限制,就會(huì)造成驗(yàn)證碼爆破,但是實(shí)戰(zhàn)中4位的數(shù)字驗(yàn)證碼還是很容易爆破的,有些6 7 位的就不是很好爆破了,一般src也不會(huì)收這些。 這個(gè)就很有意思,在一次某人才網(wǎng)漏洞挖掘的時(shí)候,發(fā)現(xiàn)在獲取驗(yàn)證碼的地方,抓包,返回的響應(yīng)包set-Cookie里面直接返回了驗(yàn)證碼,直接就可以輸入驗(yàn)證碼,可以完成任意用戶登錄,注冊(cè),密碼找回。有一些還有在登陸或者密碼找回的時(shí)候會(huì)返回密碼。
其實(shí)這里不只是驗(yàn)證碼,在某些密碼找回,或者驗(yàn)證用戶憑證的時(shí)候,會(huì)根據(jù)返回的狀態(tài)碼進(jìn)行校驗(yàn),假設(shè)驗(yàn)證碼是正確的,返回的狀態(tài)碼位1,錯(cuò)為2,這里我們就可以通過抓取響應(yīng)包,修改狀態(tài)碼為1,即可達(dá)到驗(yàn)證繞過。最開始的時(shí)候我不會(huì)抓響應(yīng)包后來才知道怎么抓,很簡單,就是在Burp里面的Do intercept -> Response to this request。 4、短信轟炸
造成短信轟炸的原因主要是沒有對(duì)單個(gè)用戶獲取驗(yàn)證碼的次數(shù)進(jìn)行限制,通過Burp抓包,數(shù)據(jù)包重放就可以造成短信轟炸。
同一瀏覽器,首先輸入自己的賬戶進(jìn)行郵箱密碼找回,進(jìn)入郵箱查看鏈接,接著輸入他人賬戶,進(jìn)行密碼找回,返回剛剛自己的郵箱點(diǎn)擊鏈接,由于 session 覆蓋導(dǎo)致了,這個(gè)鏈接成為了修改他人密碼的鏈接,成功修改他人密碼 相同級(jí)別(權(quán)限)的用戶或者同一角色不同的用戶之間,可以越權(quán)訪問、修改或者刪除的非法操作,如果出現(xiàn)此漏洞,可能會(huì)造成大批量的數(shù)據(jù)泄漏,嚴(yán)重的甚至?xí)斐捎脩粜畔⒈粣阂獯鄹?/section>1.訂單越權(quán): 通過修改URL的訂單id值越權(quán)查看訂單(有些是在POST包中修改)2.收獲地址越權(quán): 收貨地址這里碰到的還是蠻多的,在收貨地址的地方,查看收貨地址,有些通過修改address的id值即可查看別人的收貨地址,還有越權(quán)修改別人的收貨地址,這里有一個(gè)小套路,假設(shè)此站點(diǎn)的收貨地址存在xss漏洞,就可以通過修改別人的收貨地址打到cookie,這里也算是個(gè)組合拳吧。還有就是思路需要靈活,有些開發(fā)對(duì)會(huì)員中心的收貨地址進(jìn)行限制了,但是在提交訂單的地方,也是可以越權(quán)查看他人的收貨地址的。3.資料修改: 這里跟收貨地址其實(shí)沒什么區(qū)別,也可以通過xss進(jìn)行組合拳。4.其實(shí)還有很多越權(quán)的方式,但是我碰到的不是很多,這些是我碰到最多的情況。 這里的思路其實(shí)就是后臺(tái)沒有對(duì)賬號(hào)和綁定手機(jī)進(jìn)行校驗(yàn),我們可以通過抓包修改綁定的手機(jī)號(hào)碼為我們的手機(jī)號(hào),即可造成密碼重置,或者一些別的操作 1.商品價(jià)格修改: 在購買商品的時(shí)候,通過抓包通過修改商品的價(jià)格,即可造成0.01元購買商品。這里修改商品價(jià)格的地方很多,加入購物車的時(shí)候可以修改,提交訂單的時(shí)候也可以修改,這個(gè)看情況進(jìn)行修改。2.商品數(shù)量修改: 有些開發(fā)會(huì)對(duì)商品的價(jià)格進(jìn)行封裝,我們通過修改數(shù)據(jù)包沒法進(jìn)行修改,但是這里的商品數(shù)量可以改為-1,然后我們?cè)龠x擇別的商品,即可造成價(jià)格抵扣。這里修改的地方也是加入購物車的時(shí)候可以修改,提交訂單的時(shí)候也可以修改。3.運(yùn)費(fèi)修改: 這個(gè)跟以上同理,但是有些開發(fā)只對(duì)商品做了限制,忽略了運(yùn)費(fèi)這一點(diǎn),通過修改運(yùn)費(fèi)為負(fù)數(shù),即可抵扣商品。4.支付金額修改: 這個(gè)就是最后一步支付的時(shí)候,可以修改訂單的價(jià)格,造成低價(jià)購買。 在挖掘邏輯漏洞的過程中,需要一些技巧和非常規(guī)思路,有點(diǎn)像邊緣測(cè)試的思想。一般思路是: 確定業(yè)務(wù)流程→尋找流程中可以被操控的環(huán)節(jié)→分析可被操控環(huán)節(jié)中可能產(chǎn)生的邏輯漏洞→嘗試修改參數(shù)觸發(fā)邏輯問題
1、測(cè)試業(yè)務(wù)的時(shí)候,先了解清楚業(yè)務(wù)整體流程,可以利用思維導(dǎo)圖快速理清各個(gè)業(yè)務(wù)之間的關(guān)系也可以通過查看 JS 了解(JS 中可能會(huì)存在信息泄漏) 2、重點(diǎn)關(guān)注的業(yè)務(wù):個(gè)人(他人)信息、密碼修改(找回)、支付流程、注冊(cè)流程、需要手機(jī)(郵箱)驗(yàn)證的業(yè)務(wù) 3、對(duì)每個(gè)業(yè)務(wù)模塊進(jìn)行抓包,分析其中各種請(qǐng)求,注意 特殊參數(shù),很有可能就是這些 特殊參數(shù) 決定了業(yè)務(wù)步驟 4、抓包重放的過程,需要多次實(shí)驗(yàn),判斷是否可以跳過(繞過),如何跳過(繞過),純數(shù)字可以用 數(shù)字 + 字母 嘗試?yán)@過 5、返回包中數(shù)據(jù)的分析,關(guān)注特殊字符串和特殊參數(shù) 6、綜上所述,業(yè)務(wù)流程需同時(shí)結(jié)合 HTTP/HTTPS 請(qǐng)求分析,關(guān)注重點(diǎn)在各種可以用于區(qū)別的參數(shù),繞過必要驗(yàn)證,跳過業(yè)務(wù)步驟。
文章內(nèi)容源于CSDN,原作者Azjj98,如有侵權(quán)請(qǐng)聯(lián)系刪除