實驗環境
實驗目的
實驗工具
實驗內容
實驗步驟
快速查詢實驗工具
上傳正常的以及上傳php一句話
檔案,檢視區別,準備乙個普通的,使用*.jpg
在電腦上進行搜尋,可以看到很多,複製一張放到桌面上,改名為tupian.jpg
。
上傳成功後,觀察返回的頁面資訊。
由於我們準備的是php環境,所以需要使用php的一句話
,接著我們來製作一句話。
新建乙個空文字文件,將一句話
寫入到文字中。
修改檔名為yijuhua.php
並儲存到桌面
。
上傳php檔案,這時如果提示上傳失敗,則證明伺服器可能對上傳檔案的字尾做了判斷。
步驟2:修改副檔名繞過上傳檢測
php語言除了可以解析以php為字尾的檔案,還可以解析php2,php3、php4、php5這些字尾的檔案。
我們可以將檔名修改為如下的字尾yijuhua.php2
,重新上傳。
我們發現上傳依舊失敗,接著我們把檔名改為yijuhua.php3
、yijuhua.php4
、yijuhua.php5
依次進行上傳嘗試,直到發現yijuhua.php3
和yijuhua.php4
是可以上傳成功的。
當使用yijuhua.php3
或yijuhua.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...