通過配置文件(.htaccess)實現文件上傳

一·什麼是伺服器配置文件.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文件

實驗室解決