Joomla是一套世界第二流行的内容管理系统。它使用的是PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、 Windows、MacOSX等各种不同的平台上执行,目前由开放源码组织Open Source Matters进行开发与支持。Joomla实际有两个开源的东西: 1、Joomla内容管理系统即JoomlaCMS(Content Management System, CMS)。它是网站的一个基础管理平台,几乎适合从个人网站到百货销售类型的各类网站。 2、Joomla Platform(Joomla框架)。理论上来说它几乎无所不能,除了网站,还可以进行广泛的web开发、手机应用开发等等。 如果您的网站是基于流行的Joomla内容管理系统,请确保您已将您的平台更新到今天发布的最新版本。 正文: 漏洞描述:
项目: Joomla!
子项目: CMS
严重程度: 高
影响版本: 3.7.0
漏洞类型: SQL注入
CVE号码: CVE-2017-8917
你是否遭遇了威胁?
Joomla 3.7版本后引入一个新的组件 “com_fields”,这一组件会引发易被利用的漏洞,并且不需要受害者网站上的高权限,这意味着任何人都可以通过对站点恶意访问利用这个漏洞。 SQL注入发生的本质是对请求数据过滤不严,因此攻击者在此有很多文章可以做——例如,泄露用户的密码哈希值(Hash)、登陆后的用户的会话控制(在第二种情况下,如果是获取到登陆后管理员的session,那么整个网站的后台系统可能被控制)。技术细节
com_fields组件从相同名称的管理端组件中继承一些视图,它允许重复使用为另一方编写的通用代码,而不需要从头来过。
/index.php?option=com_fields&view=fields&layout=modal
view参数值:fields
layout参数值:modal
访问此URL可以显示站点上可用的所有自定义字段的列表。
唯一可以进入的管理员视图是fields-这么做会从一个admin-side模型中抓取数据(我们前面讲的 $ config ['base_path']变量)。
在这种情况下,基于MarchModelFields模型的
./administrator/components/com_fields/models/fields.php文件中包含了我们发现的那个漏洞。
这个罪魁祸首可以在getListQuery方法中找到。


