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