中科至善 2024-08-15
在進(jìn)行SRC拒絕服務(wù)(DOS)漏洞挖掘時(shí),可以遵循以下思路和技巧:
信息收集:首先,需要對(duì)目標(biāo)系統(tǒng)進(jìn)行詳盡的信息搜集,包括子域名、開放端口、cms類型等信息。這可以通過搜索引擎、網(wǎng)絡(luò)空間測(cè)繪引擎(如FOFA、Shodan等)來實(shí)現(xiàn)。例如,可以使用特定的搜索引擎查詢語句或FOFA的查詢語句來定位使用特定CMS的站點(diǎn),這有助于從空間搜索引擎中批量找到目標(biāo)資產(chǎn)。
端口掃描與服務(wù)識(shí)別:對(duì)收集到的資產(chǎn)進(jìn)行端口掃描,識(shí)別開放的服務(wù),并嘗試訪問。這可以通過工具如nmap完成。端口掃描不僅可以幫助識(shí)別可訪問的服務(wù),還可以發(fā)現(xiàn)潛在的漏洞點(diǎn)。
漏洞測(cè)試:根據(jù)收集到的信息,使用已知的漏洞利用(POC)進(jìn)行測(cè)試。例如,如果確定了CMS的版本,可以使用該版本已知的漏洞進(jìn)行測(cè)試。如果無法確定版本,可以嘗試使用公開的漏洞庫進(jìn)行測(cè)試。
WAF繞過:在測(cè)試過程中,可能會(huì)遇到Web應(yīng)用防火墻(WAF)的阻礙。這時(shí),需要嘗試WAF繞過技術(shù),這可能涉及到構(gòu)造特殊的請(qǐng)求或利用WAF的配置不當(dāng)來實(shí)現(xiàn)。
邏輯漏洞挖掘:除了技術(shù)層面的漏洞,邏輯漏洞也是SRC挖掘中的重要部分。這包括業(yè)務(wù)邏輯中的缺陷,如權(quán)限控制不當(dāng)、支付邏輯漏洞等。需要深入理解業(yè)務(wù)流程,分析可能存在的邏輯缺陷。
自動(dòng)化工具輔助:可以使用自動(dòng)化工具來輔助挖掘,比如使用多線程檢測(cè)腳本批量檢測(cè)已知漏洞的站點(diǎn)。這可以大大提高測(cè)試的效率。
持續(xù)跟蹤與學(xué)習(xí):安全領(lǐng)域不斷發(fā)展,新的漏洞和攻擊手法層出不窮。持續(xù)關(guān)注安全社區(qū)、CVE數(shù)據(jù)庫等,學(xué)習(xí)新的漏洞挖掘技術(shù)和案例,不斷提升自己的能力。
遵守規(guī)則:在挖掘過程中,要遵守法律法規(guī)和道德規(guī)范,不要進(jìn)行未授權(quán)的測(cè)試,確保測(cè)試行為合法合規(guī)。
修改數(shù)據(jù)包后觀察返回包的響應(yīng)時(shí)間,若多次修改響應(yīng)時(shí)間依次增大即有可能存在拒絕服務(wù)漏洞。
值得注意的是:測(cè)試拒絕服務(wù)漏洞時(shí)一定不要一下將參數(shù)調(diào)得很大,有的系統(tǒng)比較脆弱,可能會(huì)將服務(wù)器打崩,而src中明確規(guī)定不允許對(duì)業(yè)務(wù)產(chǎn)生影響,若打崩服務(wù)器會(huì)造成不可預(yù)知的后果,需謹(jǐn)慎對(duì)待。甚至此類漏洞可以只當(dāng)作學(xué)習(xí)/在平時(shí)內(nèi)部項(xiàng)目中挖掘,企業(yè)src中請(qǐng)謹(jǐn)慎。
具體操作:抓包將兩者時(shí)間調(diào)大,例如開始時(shí)間調(diào)為1000-6-1,結(jié)束時(shí)間調(diào)整為9000-6-1,看返回包的響應(yīng)時(shí)間即可判斷。
漏洞原因:后端逐天/逐次查詢時(shí)間。
案例:一般,二維碼的長(zhǎng)寬可控(例如請(qǐng)求包中攜帶width、length),若請(qǐng)求包中未攜帶也可以自己嘗試構(gòu)造:&width=1000&length=1000
將長(zhǎng)寬高調(diào)大,可以看到系統(tǒng)響應(yīng)時(shí)間隨之變長(zhǎng)。
漏洞原因:后端接收前端傳來的長(zhǎng)寬來生成無限大的二維碼。
例如如下請(qǐng)求包:
POST /api/xxx/login/out HTTP/1.1
Host: xxx.xxx.xxx.xxx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: application/json, text/plain, /
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/json
Origin: https://xxx.xxx.xxx.xxx
Connection: close
Referer: https://xxx.xxx.xxx.xxx/resources
{"userId":"1"}
漏洞原因:沒有經(jīng)過token校驗(yàn),利用userid來識(shí)別用戶,那么我們就可以直接遍歷userid,讓其他用戶無法登錄系統(tǒng),從而達(dá)到影響業(yè)務(wù)
舉例說明,某個(gè)項(xiàng)目默認(rèn)請(qǐng)求接口:
http://1xx.,com/query?current=1&size=10&title=&type=&r=1695
將參數(shù)調(diào)大后測(cè)試:
http://1xx.,com/query?current=1000&size=1000000&title=&type=10000000&r=1695
然后發(fā)包,發(fā)現(xiàn)服務(wù)器的回顯時(shí)間變得很長(zhǎng)。
此時(shí)再配合多線程就可以對(duì)服務(wù)器造成拒絕服務(wù)攻擊致使服務(wù)器癱瘓,對(duì)所有用戶的使用造成影響
漏洞原因:后端直接接收了前端要查詢的數(shù)量然后無限去查詢數(shù)據(jù),此時(shí)就算數(shù)據(jù)庫沒有數(shù)據(jù)也會(huì)消耗大量計(jì)算機(jī)資源。
對(duì)于不同行業(yè)有不同的特殊拒絕服務(wù)場(chǎng)景。
例如:某些系統(tǒng)忘記密碼處錯(cuò)誤多次會(huì)將用戶永久鎖定,此時(shí)若再配合用戶名枚舉漏洞便可批量永久鎖定用戶,這樣利用鏈就完整了,永久鎖定的情況危害應(yīng)該就夠了,鎖定一段時(shí)間就自動(dòng)解鎖估計(jì)不行。
主要針對(duì)特殊系統(tǒng),思維要發(fā)散。
例如:機(jī)頂盒系統(tǒng)重啟/恢復(fù)出廠功能存在未授權(quán)訪問漏洞,這時(shí)未授權(quán)+系統(tǒng)重啟無限循環(huán)就造成了一個(gè)前臺(tái)拒絕服務(wù),危害一下子就上來了。
此處沒找到截圖,主要是分享思路。
前提條件:某些功能點(diǎn)后端會(huì)對(duì)上傳的文件進(jìn)行解壓并且可以遞歸解壓。
zbsm下載地址:https://www.bamsoftware.com/hacks/zipbomb/zbsm.zip
直接上傳zip炸彈觀察服務(wù)器反應(yīng),若服務(wù)器很久沒返回結(jié)果或者變很卡頓,就說明造成拒絕服務(wù)。(此思路存在風(fēng)險(xiǎn)性)
漏洞原因:解壓zbxl.zip炸彈以后會(huì)出現(xiàn)16個(gè)壓縮包,每個(gè)壓縮包又包含16個(gè),如此循環(huán)5次,最后得到16的5次方個(gè)文件,也就是1048576個(gè)文件,這一百多萬個(gè)最終文件,每個(gè)大小為4.3GB。
這里找不到報(bào)告了就簡(jiǎn)述下思路。
某個(gè)小程序登錄是要手機(jī)號(hào)+密碼。測(cè)試了很久沒找到漏洞,然后借朋友手機(jī)登錄我的賬戶(賬戶是登錄狀態(tài)),換個(gè)手機(jī)登錄時(shí)不小心輸錯(cuò)了密碼,然后點(diǎn)擊登錄后發(fā)現(xiàn)原本手機(jī)登錄態(tài)的賬戶被強(qiáng)制退出了。
經(jīng)過測(cè)試發(fā)現(xiàn)當(dāng)輸錯(cuò)密碼發(fā)送請(qǐng)求包時(shí),會(huì)強(qiáng)制賬戶退出登錄。這樣用bp一直跑就可以讓此賬戶永遠(yuǎn)無法登錄,一個(gè)奇怪的拒絕服務(wù)出現(xiàn)了。
漏洞原因:奇怪的代碼問題。
頭像url可控,更改頭像地址成退出接口,在評(píng)論區(qū)發(fā)表評(píng)論(任何和用戶有交互且顯示頭像的地方),導(dǎo)致csrf其他人退出登錄。