滲透測試入門知識 檔案上傳漏洞原理到實戰

2021-10-07 16:05:10 字數 1507 閱讀 5690

檔案包含漏洞原理

程式開發人員一般會把重複使用的函式寫到單個檔案中,需要使用某個函式時直接呼叫此檔案,而無需再次編寫,這種檔案呼叫的過程一般被稱為檔案包含。通過函式包含檔案時,由於沒有對包含的檔名進行有效的過濾處理,被攻擊者利用從而導致了包含了web根目錄以外的檔案進來,就會導致檔案資訊的洩露甚至注入了惡意**。

分類

本地檔案包含

被包含的檔案在本地伺服器中。

遠端檔案包含

被包含的檔案在第三方伺服器中。

檔案包含函式

a、include():只有**執行到該函式時才會包含檔案進來,發生錯誤時只給出

乙個警告並繼續向下執行。

b、include_once():和include()功能相同,區別在於當重複呼叫同一檔案時,程

序只呼叫一次。

c、require():只要程式執行就包含檔案進來,發生錯誤時會輸出錯誤結果並終止

執行。d、require_once():和require()功能相同,區別在於當重複呼叫同一檔案時,程式

只呼叫一次。

存在的風險讀取檔案、寫入檔案。

實戰

攻擊目標

系統:ubuntu16.04

ip:192.168.1.11

環境:apache2+php7.2+mysql5.7

應用:dvwa

讀取檔案

使用…/…/…/…/…/…/etc/shadow讀取本地賬戶資訊

2、寫入檔案

使用input寫入檔案

如何防禦

1、嚴格檢查變數是否已經初始化。

2、嚴格判斷包含中的引數是否外部可控。

3、基於白名單的包含檔案驗證,驗證被包含的檔案是否在白名單中。

4、盡量不要使用動態包含,可以在需要包含的頁面固定寫好,如:include("func.php")。

5、對所有輸入提交可能包含的檔案位址,包括伺服器本地檔案及遠端檔案,

進行嚴格的檢查,引數中不允許出現../之類的目錄跳轉符。

6、可以通過呼叫str_replace()函式實現相關敏感字元的過濾,

一定程度上防禦了遠端檔案包含。

檔案上傳漏洞全面滲透姿勢總結

返利 www.cpa5.cn 本文件只做技術交流,切勿進行違法犯罪操作,請做乙個好人,不給別人添麻煩 檔案上傳的場景真的隨處可見,不加防範小心,容易造成漏洞,造成資訊洩露,甚至更為嚴重的災難。再次宣告 大家在自己的搭建的環境裡面測試,不要給別人造成麻煩哈。檔案上傳漏洞是進行滲透是比較常見好利用的漏洞...

檔案上傳漏洞全面滲透姿勢總結

本文件只做技術交流,切勿進行違法犯罪操作,請做乙個好人,不給別人添麻煩 檔案上傳的場景真的隨處可見,不加防範小心,容易造成漏洞,造成資訊洩露,甚至更為嚴重的災難。再次宣告 大家在自己的搭建的環境裡面測試,不要給別人造成麻煩哈。檔案上傳漏洞是進行滲透是比較常見好利用的漏洞,利用它能夠直接上傳websh...

滲透測試 檔案上傳繞過思路

瀏覽器審查元素刪除檢測函式 上傳正常格式檔案通過burpsuite抓包修改為filename為指令碼 基於mime 上傳指令碼格式檔案,burpsuite 抓包修改檔案的content type 上傳正常格式檔案,burosuite抓包修改檔案的filename為指令碼格式 基於字尾 黑名單wind...