文件上傳--DVWA

一、概述

二、實戰

LOW等級

首先上傳一張圖片test.jpg,如圖所示成功上傳

訪問網址成功看到剛纔上傳的圖片:

正常操作到此結束,接下來嘗試上傳惡意文件:phpinfo.php(該函數顯示PHP的配置相關信息)

如下圖所示,成功上傳:

嘗試訪問,成功執行證明了漏洞的存在:

接下來上傳一句話webshell  cmd.php(該webshell可以執行用戶傳入的cmd參數的值),成功上傳,並且嘗試執行,如下圖所示成功執行

 

接下來用php中的System函數調用cmd中的命令,查看系統命令dir,如下圖所示成功顯示當前目錄的物理路徑

利用前面的得到的物理路徑訪問phpstudy目錄下的php.ini,成功執行

 

Medium等級

直接上傳寫好的phpinfo.php,提示不允許上傳,只允許上傳JPEG和PNG格式的文件

這裏首先想到抓包研究,將正常上傳的包與上傳失敗的包進行對比,如下圖所示

對比以上三處不同,對數據包不斷地進行修改重發,通過不斷地嘗試,發現是文件類型這裏被限制了。上傳php文件,通過抓包修改文件類型爲image/jpeg,便可成功上傳,如下圖所示

High等級:

直接上傳同樣無法上傳,使用Medium等級抓包上傳的方法同樣無法上傳,同樣將成功和失敗的數據包進行對比,通過不斷嘗試確定限制了文件後綴和文件內容:

這裏用圖片馬進行繞過,成功上傳

在這裏文件上傳漏洞需要與文件包含漏洞相結合進行利用,便可成功執行剛剛上傳圖片馬

這裏文件上傳漏洞也可以與解析漏洞相結合,以Nginx爲例:

漏洞修復

1、阻止非法文件上傳:

文件後綴名白名單、文件類型校驗、文件內容頭部判斷

2、阻止非法文件執行:

文件重命名(防止http服務器如IIS進行解析}

文件壓縮重生成(防止了圖片馬的執行)

存儲目錄執行權限限制

存儲目錄與web分離

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章