PHP修改字尾名繞過

2021-09-01 00:18:42 字數 2226 閱讀 5322

實驗環境

實驗目的

實驗工具

實驗內容

實驗步驟

快速查詢實驗工具

上傳正常的以及上傳php一句話檔案,檢視區別,準備乙個普通的,使用*.jpg在電腦上進行搜尋,可以看到很多,複製一張放到桌面上,改名為tupian.jpg

上傳成功後,觀察返回的頁面資訊。

由於我們準備的是php環境,所以需要使用php的一句話,接著我們來製作一句話。

新建乙個空文字文件,將一句話寫入到文字中。

修改檔名為yijuhua.php並儲存到桌面

上傳php檔案,這時如果提示上傳失敗,則證明伺服器可能對上傳檔案的字尾做了判斷。

步驟2:修改副檔名繞過上傳檢測

php語言除了可以解析以php為字尾的檔案,還可以解析php2,php3、php4、php5這些字尾的檔案。

我們可以將檔名修改為如下的字尾yijuhua.php2,重新上傳。

我們發現上傳依舊失敗,接著我們把檔名改為yijuhua.php3yijuhua.php4yijuhua.php5依次進行上傳嘗試,直到發現yijuhua.php3yijuhua.php4是可以上傳成功的。

當使用yijuhua.php3yijuhua.php4上傳成功後,我們需要訪問檔案,這時可直接複製檔案路徑(file name後面的內容,即是一句話的路徑),將複製的位址貼上至**位址後面,從而構造訪問位址,並複製構造好的位址。例如:

步驟3:獲取webshell許可權

使用中國菜刀軟體開啟webshell位址

開啟中國菜刀軟體並填入複製的訪問位址,填入你設定的密碼,這裡設定的密碼是1,選擇指令碼型別為php,單擊新增按鈕,最後我們雙擊指定條目後的可以看到目標**的目錄,這樣我們就成功獲取到目標**的webshell許可權。

實驗結果總結

本次實驗我們了解php副檔名解析原則,並學會利用修改字尾名繞過上傳防護,下面給出修復方案。

防禦方案

1.客戶端檢測,使用js對上傳檢測,包括檔案大小、副檔名、檔案型別等

2.服務端檢測,對檔案大小、檔案路徑、副檔名、檔案型別、檔案內容檢測,對檔案重新命名

3.其他限制,伺服器端上傳目錄設定不可執行許可權

第1題:以下那種檔案是不能被解析成php的?

phpphp3

php4

jspd

key

python批量修改字尾名

例如 將a.txt.doc改為a.txt import os os.chdir dir name 絕對路徑 or 相對路徑 file list os.listdir 獲取當前目錄下的檔案列表 or os.listdir dir for i in file list if i.endswith txt...

檔名(字尾名)修改

就自己寫了段 來實現 檔名 字尾名 修改的小函式。剛開通部落格就把 放上來了。希望大俠看到指點一二。不勝榮幸!view code 1 2 修改檔名 3 4 原始檔全名 包括路徑 5 檔案字尾名 為空表示不修改 6 檔案後 為空表示不修改 7 返回異常訊息 8static void changeext...

批量修改郵箱字尾名

今天工作中遇到乙個問題,公司郵箱換字尾名,要批量改郵箱字尾名,特記錄以下 總的sql 如下 update staff set email concat substring email,1,locate aaa.com email bbb.com where email like aaa inc.co...