CVE-2018-8045 Joomla内核SQL注入漏洞
Joomla介绍
Joomla是一套全球知名的内容管理系统,使用PHP语言、MySQL数据库所开发,适用于Linux、 Windows、MacOSX等各种平台。
影响版本
3.5.0 - 3.8.5
环境搭建
Joomla的运行环境是PHP+MYSQL+Apache,而phpStudy则集成了这三种程序,只要安装了phpStudy就等于安装的这三种程序,而且兼容性更好。使用MYSQL命令行在数据库创建名为joomla的数据库:
下载好Joomla(版本为3.8.5)的安装包,将其解压到C:\phpStudy\PHPTutorial\WWW\的目录下,然后在浏览器输入http://localhost/joomla,回车根据相关提示进行安装。
漏洞分析
漏洞代码位于joomla\administrator\components\com_users\models\notes.php中,$categoryId未经过过滤直接拼接sql语句进行查询,从而造成了sql注入漏洞的产生。
漏洞利用
1.浏览器输入http://localhost/joomla/administrator/进入管理员登录界面,点击User-->User Notes访问漏洞页面。
2.选择Search Tools下面的Uncategorised触发漏洞条件,这时候用Brupsuite进行抓包。
3.将数据包send to Decoder进行解码。
4.将解码后的数据包复制到Repeater,加入payload: and extractvalue(1,concat(0x7e,(select database()),0x7e))。
成功得到数据库名joomla,漏洞利用成功。
漏洞修复
升级至最新版本