DVWA Web漏洞實戰之File Upload

2021-09-20 08:45:01 字數 2676 閱讀 5767

file upload

file upload,即檔案上傳漏洞,一般的上傳漏洞可能是未驗證上傳字尾 或者是驗證上傳字尾被bypass 或者是上傳的檔案驗證了上傳字尾但是檔名不重新命名。

low

直接上傳任意檔案

驗證content-type,修改content-type為 image/jpeg直接繞過

驗證了字尾名、檔案大小及限制了上傳檔案的檔案頭必須為影象型別。

利用條件:

在php版本小於5.3.4的伺服器中,當magic_quote_gpc選項為off時,可以在檔名中使用%00截斷,所以可以把上傳檔案命名為1.php%00.png。

高php版本會將%00轉換成\0,高版本截斷失效。

php 本地測試**:

<?php 

$uploaded_name = $_files[ 'file' ][ 'name' ];

$uploaded_ext = substr( $uploaded_name, strrpos( $uploaded_name, '.' ) + 1);

if ((($_files["file"]["type"] == "image/gif")

|| ($_files["file"]["type"] == "image/jpeg")

|| ($_files["file"]["type"] == "image/pjpeg"))

&& ($_files["file"]["size"] < 20000))

else

}else

?>

測試記錄:

上傳1.php.jpg 攔截 00截斷

服務端獲取到的檔名$_files["file"]["name"]為1.php

00截斷漏洞:

該漏洞存在於php的move_uploaded_file()函式中,這個函式一般在上傳檔案時被使用,用途是將上傳的檔案移動到新位置。

語法 1 move_uploaded_file ( string $filename , string $destination )

這次的漏洞就出現在$destination這個引數中,這個引數代表的是上傳檔案移動的最終目的位址。如果$destination變數是從使用者$_get或$_post中獲得的並且我們可控,那麼我們可以利用空字元\x00來截斷後面的拓展名,從而造成任意檔案上傳。

1111111.php .jpg #進行截斷

-----------------------------96431875028546

content-disposition: form-data; name="submit"

submit

-----------------------------96431875028546--

檔案上傳之繞過 

檔案上傳漏洞(繞過姿勢)       

新手指南:dvwa-1.9全級別教程之file upload  

php任意檔案上傳漏洞(cve-2015-2348)分析與利用 

DVWA Web漏洞實戰之File Upload

file upload file upload,即檔案上傳漏洞,一般的上傳漏洞可能是未驗證上傳字尾 或者是驗證上傳字尾被bypass 或者是上傳的檔案驗證了上傳字尾但是檔名不重新命名。low 直接上傳任意檔案 驗證content type,修改content type為 image jpeg直接繞過...

Kali實戰 漏洞掃瞄

在主機發現 埠發現 服務掃瞄得到目標系統開放埠的服務 服務的的軟體版本資訊,繼而可以在軟體的官網上檢視版本資訊以及補丁列表,而高危漏洞則可以直接控制目標系統。在此基礎上對目標系統存在哪些漏洞弱點進行乙個基本的判斷,但是這樣做會有很多弊端,掃瞄的很多埠上跑著各種各樣的服務,你會忙於在各大 上去查詢官方...

漏洞之檔案包含漏洞

在專案中為了更好地使用 的重用性,引入了檔案包含函式,可以通過檔案包含函式將檔案包含進來,直接使用包含檔案的 完成類似python中的import功能。在包含檔案時候,為了靈活包含檔案,將被包含檔案設定為變數,通過動態變數來引入需要包含的檔案時,使用者可以對變數的值可控而伺服器端未對變數值進行合理地...