【檔案上傳繞過】路徑拼接問題導致上傳漏洞
一、原始碼
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
if (file_exists(UPLOAD_PATH)) {
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".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 = trim($_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
$file_ext = trim($file_ext); //首尾去空
if (!in_array($file_ext, $deny_ext)) {
$temp_file = $_FILES['upload_file']['tmp_name'];
$img_path = UPLOAD_PATH.'/'.$file_name; // 路徑拼接的是處理後的檔名
if (move_uploaded_file($temp_file, $img_path)) {
$is_upload = true;
} else {
$msg = '上傳出錯!';
}
} else {
$msg = '此檔案型別不允許上傳!';
}
} else {
$msg = UPLOAD_PATH . '資料夾不存在,請手工建立!';
}
}
路徑拼接的是處理後的檔名,導致可以利用類似.php. .
(兩個點號之間有一個空格)繞過,程式先是刪除一個點,再刪除一個空格經過處理後,檔名變成.php.
,即可繞過。
二、使用burpsuite修改檔案字尾繞過
上傳檔案並訪問
檔案上傳到Windows伺服器後會自動將後面的點去掉
相關文章
- 檔案上傳漏洞(繞過姿勢)
- 文字檔案上傳漏洞[任意.繞過.解析]
- 網路安全中檔案上傳漏洞是如何導致的?
- 檔案上傳漏洞
- 上傳檔案時路徑總是C:\fakepath\的問題
- 24:WEB漏洞-檔案上傳之WAF繞過及安全修復Web
- 網站漏洞檢測解析繞過上傳漏洞網站
- 安全漏洞問題5:上傳任意檔案
- [MRCTF2020]你傳你呢 1 (檔案上傳漏洞,利用.htaccess檔案繞過)TF2
- laravel上傳圖片路徑問題Laravel
- WEB漏洞——檔案上傳Web
- 檔案上傳之後端黑白名單繞過後端
- Web安全-檔案上傳漏洞Web
- 淺析檔案上傳漏洞
- WEB安全:檔案上傳漏洞Web
- ctfshow檔案上傳漏洞做題記錄
- 上傳檔案超時問題
- Qt通過Http上傳檔案(路過)QTHTTP
- 檔案上傳之WAF繞過及相安全防護
- 阿里雲oss 上傳檔案的兩種方式(本地路徑上傳遠端連結上傳)阿里
- 探索網路安全:淺析檔案上傳漏洞
- 檔案上傳下載中的安全問題(上傳漏洞與目錄遍歷攻擊)
- 分散式檔案上傳導致服務假死了?分散式
- <web滲透-檔案上傳漏洞>Web
- 檔案上傳(解析)漏洞詳解
- 檔案上傳漏洞總結(全)
- 任意檔案上傳漏洞修復
- 檔案上傳漏洞思路詳解
- php檔案上傳之多檔案上傳PHP
- 上傳檔案專題
- 檔案包含漏洞(本地包含配合檔案上傳)
- git上傳過濾檔案Git
- MTU問題導致大檔案傳輸速度很慢
- Web 安全漏洞之檔案上傳Web
- 檔案上傳需要注意的問題
- liunx下vsftpd上傳檔案問題FTP
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- FileUpload 上傳的檔案獲取相對路徑