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