SSRF
SSRF(Server-Side Request Forgery:服務(wù)器端請(qǐng)求偽造) 是一種由攻擊者構(gòu)造形成由服務(wù)端發(fā)起請(qǐng)求的一個(gè)安全漏洞。一般情況下,SSRF 攻擊的目標(biāo)是從外網(wǎng)無(wú)法訪問(wèn)的內(nèi)部系統(tǒng)。(正是因?yàn)樗怯煞?wù)端發(fā)起的,所以它能夠請(qǐng)求到與它相連而與外網(wǎng)隔離的內(nèi)部系統(tǒng))SSRF 形成的原因大都是由于服務(wù)端提供了從其他服務(wù)器應(yīng)用獲取數(shù)據(jù)的功能且沒(méi)有對(duì)目標(biāo)地址做過(guò)濾與限制。比如從指定 URL 地址獲取網(wǎng)頁(yè)文本內(nèi)容,加載指定地址的圖片,下載等等。
檢測(cè)
SSRF 漏洞的驗(yàn)證方法:
1)因?yàn)?SSRF 漏洞是讓服務(wù)器發(fā)送請(qǐng)求的安全漏洞,所以我們就可以通過(guò)抓包分析發(fā)送的請(qǐng)求是否是由服務(wù)器的發(fā)送的,從而來(lái)判斷是否存在 SSRF 漏洞
2)在頁(yè)面源碼中查找訪問(wèn)的資源地址 ,如果該資源地址類(lèi)型的就可能存在 SSRF 漏洞
SSRF 漏洞的成因 防御
繞過(guò)
成因:模擬服務(wù)器對(duì)其他服務(wù)器資源進(jìn)行請(qǐng)求,沒(méi)有做合法性驗(yàn)證。利用:構(gòu)造惡意內(nèi)網(wǎng) IP 做探測(cè),或者使用其余所支持的協(xié)議對(duì)其余服務(wù)進(jìn)行攻擊。防御:禁止跳轉(zhuǎn),限制協(xié)議,內(nèi)外網(wǎng)限制,URL限制。繞過(guò):使用不同協(xié)議,針對(duì) IP,IP 格式的繞過(guò),針對(duì) URL,惡意 URL 增添其他字符,@之類(lèi)的。301 跳轉(zhuǎn)+dns rebindding。
上傳
文件上傳漏洞原理
由于程序員在對(duì)用戶(hù)文件上傳部分的控制不足或者處理缺陷,而導(dǎo)致用戶(hù)可以越過(guò)其本身權(quán)限向服務(wù)器上傳可執(zhí)行的動(dòng)態(tài)腳本文件
常見(jiàn)的上傳繞過(guò)方式
前端 js 驗(yàn)證:禁用 js/burp 改包
大小寫(xiě)
雙重后綴名
過(guò)濾繞過(guò) pphphp->php
防護(hù)
文件上傳目錄設(shè)置為不可執(zhí)行
使用白名單判斷文件上傳類(lèi)型
用隨機(jī)數(shù)改寫(xiě)文件名和路徑
審查上傳點(diǎn)的元素有什么意義?有些站點(diǎn)的上傳文件類(lèi)型的限制是在前端實(shí)現(xiàn)的,這時(shí)只要增加上傳類(lèi)型就能突破限制了。
文件包含
原理
引入一段用戶(hù)能控制的腳本或代碼,并讓服務(wù)器端執(zhí)行 include()等函數(shù)通過(guò)動(dòng)態(tài)變量的方式引入需要包含的文件;
用戶(hù)能夠控制該動(dòng)態(tài)變量。
導(dǎo)致文件包含的函數(shù)
PHP:include(), include_once(), require(), re-quire_once(), fopen(), readfile(), … JSP/Servlet:
ava.io.File(), java.io.Fil-eReader(), … ASP:include file, include virtual,
本地文件包含
能夠打開(kāi)并包含本地文件的漏洞,被稱(chēng)為本地文件包含漏洞
更多關(guān)于網(wǎng)絡(luò)安全培訓(xùn)的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢(xún)課程顧問(wèn),獲取試聽(tīng)資格來(lái)試聽(tīng)我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門(mén)到精通。