Apache SSI 遠端命令執行漏洞

2021-10-05 16:25:55 字數 752 閱讀 7044

漏洞分析

漏洞復現之前,要知道ssi是什麼,那麼ssi是什麼呢?

ssi----即server-side includes

ssi提供了一種對現有html文件增加動態內容的方法,不需要編寫複雜的jsp/php/asp等程式或者呼叫cgi程式。

因為是docker拉取的環境,可能和自己搭建的環境有出入,本人找的也比較久

進入拉取倉庫的bash環境到/etc/apache2/apache2.conf下檢視配置檔案,發現

發現這裡,然後進入/etc/apache2/mods-enabled/mime.conf

具有如上配置,說明開啟了ssi的功能,有關ssi的配置參考

ssi的語法格式類似html的注釋,因此正確啟用ssi之後,瀏覽器可以忽略他但是原始碼仍然可見,伺服器會對特定的ssi指令解析,從而實現少量動態內容的新增。

綜上所述,如果目標伺服器開啟了ssi與cgi支援,我們可以上傳乙個shtml檔案,並利用語法執行任意命令。

正常上傳php檔案是不允許的,我們可以上傳乙個shell.shtml檔案:

檢視上傳檔案,頁面回顯如上執行了whoami命令(忘記截圖…)。

Apache SSI 遠端命令執行漏洞

在測試任意檔案上傳漏洞的時候,目標服務端可能不允許上傳php字尾的檔案。如果目標伺服器開啟了ssi與cgi支援,我們可以上傳乙個shtml檔案,並利用語法執行任意命令。參考 路徑 vulhub httpd ssi rce 啟動乙個支援ssi與cgi的apache伺服器 docker compose ...

Apache SSI 遠端命令執行漏洞

好好學習,天天向上 在測試任意檔案上傳漏洞的時候,目標服務端可能不允許上傳php字尾的檔案。如果目標伺服器開啟了ssi與cgi支援,我們可以上傳乙個shtml檔案,並利用 語法執行任意命令。這裡使用2.4.38版本 使用vulhub 使用docker啟動 docker compose build d...

漏洞復現 Apache SSI遠端命令執行

漏洞原理 當目標伺服器開啟了ssi與cgi支援,我們就可以上傳shtml檔案,利用語法執行命令。ssi ssi 伺服器端包含 是 放置在html頁面中的指令,並在提供頁面時在伺服器上進行評估。它們允許將動態生成的內容新增到現有html頁面,而無需通過cgi程式或其他動態技術提供整個頁面。ssi ex...