1. 程式人生 > 實用技巧 >BUUCTF 檔案上傳

BUUCTF 檔案上傳

[WUSTCTF2020]CV Maker

考點:檔案上傳

解題

1、註冊,登入,上傳圖片馬,用bp抓包後將filename字尾改為php,連上蟻劍。

[ACTF2020 新生賽]Upload(檔案上傳-前端js驗證&黑名單繞過)

1、F12,刪除onsubmit="return checkFile()",繞過前端驗證
2、發現不能上傳php,就是可能後端黑名單過濾了php
上傳一句話木馬,用burpsuite抓包,修改filename的字尾為.phtml,連上蟻劍。
最後,放上原始碼:

<?php
	error_reporting(0);
	//設定上傳目錄
	define("UPLOAD_PATH", "./uplo4d");
	$msg = "Upload Success!";
	if (isset($_POST['submit'])) {
        $temp_file = $_FILES['upload_file']['tmp_name'];
        $file_name = $_FILES['upload_file']['name'];
        $ext = pathinfo($file_name,PATHINFO_EXTENSION);
        if(in_array($ext, ['php', 'php3', 'php4', 'php5'])) {
	        exit('nonono~ Bad file!');
    	}

        $new_file_name = md5($file_name).".".$ext;
        $img_path = UPLOAD_PATH . '/' . $new_file_name;


        if (move_uploaded_file($temp_file, $img_path)){
            $is_upload = true;
        } else {
            $msg = 'Upload Failed!';
        }
        echo '<div style="color:#F00">'.$msg." Look here~ ".$img_path."</div>";
    }


?>