網絡滲透上傳漏洞闖19關-第六關 空格繞過黑名單

網絡滲透上傳漏洞闖19關-第六關 空格繞過黑名單

首先,查看過濾代碼

$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess");

$file_name = $_FILES['upload_file']['name'];

$file_name = deldot($file_name);//刪除文件名末尾的點

$file_ext = strrchr($file_name, '.');

$file_ext = strtolower($file_ext); //轉換為小寫

$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA

if (!in_array($file_ext, $deny_ext)) {

if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $UPLOAD_ADDR . '/' . $_FILES['upload_file']['name'])) {

$img_path = $UPLOAD_ADDR . '/' . $file_name;

$is_upload = true;

}

} else {

$msg = '此文件不允許上傳';

}

相對於第五關的過濾還少了一些,相同的黑名單,但是相比於第五關,這裡僅僅刪除了文件名後的.,並沒有刪除空格,所以可以上傳一個後綴名為php+空格的文件去繞過黑名單,windows在創建文件時會自動刪掉最後的空格

網絡滲透上傳漏洞闖19關-第六關 空格繞過黑名單

可以看到成功繞過這裡的上傳檢測

網絡滲透上傳漏洞闖19關-第六關 空格繞過黑名單

網絡滲透上傳漏洞闖19關-第六關 空格繞過黑名單


分享到:


相關文章: