通過配置檔案(.htaccess)實現檔案上傳

江公發表於2022-04-30

一·什麼是伺服器配置檔案.htaccess
許多伺服器還允許開發人員在各個目錄中建立特殊的配置檔案,以便覆蓋或新增一個或多個全域性設定。例如,Apache 伺服器將從一個名為(.htaccess如果存在)的檔案中載入
特定於目錄的配置。Web 伺服器使用這些型別的配置檔案,但通常不允許您使用 HTTP 請求訪問它們。但是,您可能偶爾會發現無法阻止您上傳自己的惡意配置檔案的伺服器在
這種情況下,即使您需要的副檔名被列入黑名單,您也可以欺騙伺服器將任意自定義副檔名對映到可執行的 MIME 型別。
如果當你上傳檔案的時候發現你的指令碼檔案被阻止上傳,你可以嘗試上傳.htaccess檔案。在.htaccess檔案裡面將你的副檔名對映到可執行MIME型別。只需要新增一句話:
AddType application/x-httpd-php .html(則html檔案也能執行.php檔案)
AddType application/x-httpd-php .txt(則普通的文字文件也能執行.php檔案)
二·實驗步驟
1.登入之後發現一個檔案上傳的功能

2.嘗試上傳頭像。

檔案上傳成功
3.開啟burp代理,嘗試上傳PHP檔案

可見,.php檔案被阻止
4.嘗試上傳配置檔案.htaccess
其中filename=“.htaccess”
Content-Type=text/plain.
替換檔案內容為AddType application/x-httpd-php .html

發現配置檔案已經上傳成功
5.嘗試上傳.php檔案,將檔案的擴張名修改為.html,伺服器會自動對映成PHP檔案執行

發現上傳成功,
6.嘗試執行上傳的.php檔案

實驗室解決

相關文章