實驗環境
- 實驗環境
- 操作機:
Windows XP
- 目标機:
Windows 2003
- 操作機:
- 目标網址:
www.test.com
- 實驗工具:
中國菜刀
BurpSuite
實驗目的
本課程帶領大家學習利用修改檔案内容,繞過上傳驗證,擷取WebShell。通過親身實驗,驗證繞過上傳驗證的可行性,進而提高自身的安全防禦意識。
實驗思路
- 上傳正常圖檔和一句話
- 修改檔案内容繞過上傳檢測
- 擷取WEBShell權限
- 防禦方案
實驗步驟 1
上傳正常圖檔和一句話
準備一張普通的圖檔,使用
*.jpg
在電腦上進行搜尋,可以看到很多圖檔,複制一張圖檔放到桌面上,改名為
tupian.jpg
。
打開上傳位址,選取上傳圖檔
小i提示:
- 上傳位址就是可以上傳檔案的地方
- 本次實驗用的測試網址
作為目标網站
http://www.test.com
上傳成功後,觀察傳回的頁面資訊。
小i提示:
- 觀察紅字部分(上傳是否成功,成功為 Upload Successful 失敗這一行會顯示失敗資訊)
- 觀察藍字部分(上傳成功後檔案的路徑)
準備的是PHP環境,需要使用PHP的
一句話
,接着來制作
一句話
,建立一個空文本文檔,将php的
一句話
寫入到文本中,修改檔案名為
yijuhua.php
并儲存到
桌面
。
小i提示:
是一種常見的網站後門,短小精悍,而且功能強大,隐蔽性非常好,在滲透測試過程中始終扮演着強大的作用。不同的環境需要選取與環境比對的
一句話
。
一句話
- 一句話中
,本例中我們以
$_POST[‘這裡是密碼’]
為密碼。
1
上傳PHP檔案,發現提示錯誤為
The File Is Not Picture
,是以得出結論,PHP檔案被禁止上傳。
伺服器斷可能是通過檔案類型進行判斷的,于是我們将
yijuhua.php
的改為
yijuhua.jpg
,進行上傳嘗試,發現也沒有上傳成功,是以我們可以判斷:伺服器端是
通過檔案内容
進行驗證的。
2
修改檔案内容繞過上傳檢測
利用BurpLoader對上傳檔案内容進行修改
首先打開BurpLoader,選擇
Proxy
-
Options
,設定BurpLoader代理位址,預設為
127.0.0.1
、端口:
8080
。
接着修改Firefox的代理設定,修改代理位址以及端口(設定與在BurpLoader中設定的代理位址相同:
127.0.0.1
、端口:
8080
)。
小i提示:
- 不同浏覽器設定代理的方法不相同, 此處我們以IE浏覽器為例,首先點選右上角的
-
工具
-
選項
-
網絡
-
設定
,填入BurpLoader中設定的代理位址。
手動配置代理
我們再打開BurpLoader抓包,進行截斷浏覽器給伺服器發送的資料包,
Proxy
-
Intercept
點選
intercept off
改為
intercept on
,截斷的資料包将在關閉抓包的時候發送給服務端。
我們再将圖檔檔案上傳一次,傳回檢視被截斷的資料包,在末尾加上幾個空格後粘貼
一句話
,然後修改檔案名的尾綴為
.php
利于之後使用中國菜刀進行連接配接。
小i提示:
- 空格的作用主要用于隔開圖檔檔案和一句話,避免
解析混亂。
一句話
- 如果不修改尾綴上傳上去的檔案仍然是
,則仍以
.jpg
解析,那麼就無法執行PHP腳本(也就是
.jpg
執行失敗)。
一句話
關閉抓包(點選
intercept on
->
intercept off
),上傳資料,檢視浏覽器發現上傳成功,複制
File Name
後面的資訊(例如:
uploadimg\1412865875.php
)。粘貼複制到網站位址後面,進而構造通路位址(例如:
http://www.test.com\uploadimg\1412865875.php
),并複制通路位址。
3
擷取WEBShell權限
打開
中國菜刀
軟體并填入複制的通路位址,填入你設定的密碼,之前我們在“一句話”中設定的密碼是
1
,選擇腳本類型為
PHP
,單擊
添加
按鈕,就會看到菜刀上出現一行資訊,最後我們輕按兩下這條資訊後,就可以看到目标網站的目錄,這樣我們就成功擷取到目标網站的WEBShell權限。
小i 知識點:
- 中國菜刀,是一款專業的網站管理軟體,用途廣泛,使用友善,小巧實用。隻要支援動态腳本的網站,都可以用中國菜刀與一句話協作來進行管理。
4
防禦方案
1.用戶端檢測,使用JS對上傳圖檔檢測,包括檔案大小、檔案擴充名、檔案類型等
2.服務端檢測,對檔案大小、檔案路徑、檔案擴充名、檔案類型、檔案内容檢測,對檔案重命名
3.其他限制,伺服器端上傳目錄設定不可執行權限