• 移动端
    访问手机端
    官微
    访问官微

    搜索
    取消
    温馨提示:
    敬爱的用户,您的浏览器版本过低,会导致页面浏览异常,建议您升级浏览器版本或更换其他浏览器打开。

    Joomla!3.7.0 SQL注入攻击漏洞分析

    来源:FreebuF.COM 2017-05-26 11:30:02 SQL 漏洞 金融安全
         来源:FreebuF.COM     2017-05-26 11:30:02

    核心提示存储器芯片。与传统的RAM存储器芯片不同,NAND存储器芯片是非易失性的,这意味着在计算机关闭之后它们不会丢失其电荷(也称为用户的数据)。

      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组件从相同名称的管理端组件中继承一些视图,它允许重复使用为另一方编写的通用代码,而不需要从头来过。

    Joomla!3.7.0 SQL注入攻击漏洞分析

      从上面的代码片段可以看出,$config['base_path']变量的值是由JPATH_COMPONENT_ADMINISTRATOR常量传导过去的,该值代表管理员组件目录的本地路径。如此一来,Joomla可以根据这一路径获取视图参数和模块布局。

      构建URL如下所示:

      /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方法中找到。

    Joomla!3.7.0 SQL注入攻击漏洞分析

      对于那些不熟悉Joomla的人而言,“执行SQL语句查询, $ query-> order() ” 这种方法,能做的真的只有将输入内容接入一个查询的ORDER BY语句中。

    Joomla!3.7.0 SQL注入攻击漏洞分析

      用户进行输入后会启动list.fullordering状态,因为FieldsModelFields模型是从JModelList类继承而来的,它同样也包含上面的代码段。

      你可能会注意到,它会对内容执行一些验证,然后相应地设置list.direction和list.ordering,但是list.fullordering的情况如何呢?

    Joomla!3.7.0 SQL注入攻击漏洞分析

      在switch语句之后,不管它是否生成了一个有效的list.direction或list.ordering,我们都可以控制这行命令达到我们想要的值。

      所以为了利用这个漏洞,攻击者必须做的是为URL添加适当的参数,以便注入到SQL查询。  

    责任编辑:韩希宇

    免责声明:

    中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。

    为你推荐

    猜你喜欢

    收藏成功

    确定