CVE-2018-8045 Joomla内核SQL注入漏洞

Posted Son01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,漏洞利用成功。

漏洞修复

升级至最新版本

以上是关于CVE-2018-8045 Joomla内核SQL注入漏洞的主要内容,如果未能解决你的问题,请参考以下文章

Joomla 表单字段类型 sql="....WHERE 条件"?

从 joomla 网站连接到 sql server

joomla上标签计数的SQL查询

将 SQL 查询转换为 joomla 的 codeigniter

如何运行 sql 查询以从不同的 joomla 组件返回数据

SQL语句为joomla文章数据库基于另一个字段创建一个字段