一·什麼是伺服器配置檔案.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檔案
實驗室解決
通過配置檔案(.htaccess)實現檔案上傳
相關文章
- [MRCTF2020]你傳你呢 1 (檔案上傳漏洞,利用.htaccess檔案繞過)TF2
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- Qt通過Http上傳檔案(路過)QTHTTP
- springCloud 微服務通過minio實現檔案上傳和檔案下載介面SpringGCCloud微服務
- PHP如何通過CURL上傳檔案PHP
- AngularJS實現的檔案檔案上傳AngularJS
- ajax實現檔案上傳
- SpringMVC 通過commons-fileupload實現檔案上傳SpringMVC
- jftp通過sftp協議上傳檔案FTP協議
- Windows 機器通過 FTP 上傳檔案WindowsFTP
- 在php中通過curl上傳檔案PHP
- php通過ftp協議上傳檔案PHPFTP協議
- .htaccess檔案使用
- 通過SQL SERVER遠端上傳檔案的實現SQLServer
- Jsp+Servlet實現檔案上傳下載(一)--檔案上傳JSServlet
- HttpFileCollection 實現多檔案上傳HTTP
- 檔案上傳原理和實現
- springmvc實現檔案上傳SpringMVC
- 配置php.ini實現PHP檔案上傳功能PHP
- php檔案上傳之多檔案上傳PHP
- 使用java的MultipartFile實現layui官網檔案上傳實現全部示例,java檔案上傳JavaUI
- git上傳過濾檔案Git
- PHP實現圖片(檔案)上傳PHP
- Java檔案上傳如何實現呢?Java
- 關於node實現檔案上傳
- 使用Spring實現上傳檔案Spring
- Spring mvc檔案上傳實現SpringMVC
- JS實現檔案自動上傳JS
- springboot上傳檔案配置Spring Boot
- js實現帶上傳進度的檔案上傳JS
- 單個檔案上傳和批量檔案上傳
- struts動態多檔案上傳實現
- 【node】檔案上傳功能簡易實現
- 自定義檔案上傳功能實現方法
- SpringMVC多個檔案上傳實現SpringMVC
- Feign實現檔案上傳下載
- node中間層實現檔案上傳
- Web上傳檔案的原理及實現Web