本篇文章给大家分享的是有关Drupal核心远程代码执行漏洞分析报告是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
0x00 漏洞概述
日前,360-CERT监测到编号为CVE-2018-7600的Drupal远程代码执行漏洞的相关细节被发布(详见参考链接1)。该漏洞最早于3月28日Drupal官方披露(详见参考链接3),但未公开相关漏洞细节,360-CERT及时发布预警报告(详见参考链接2)并进行跟进。2018年4月13日,checkpoint安全团队发布了一份关于此漏洞(CVE-2018-7600)相关技术细节报告;目前相关漏洞利用代码已公开。
Drupal是一款开源的PHP内容管理系统,使用广泛,全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用。360-CERT认为此漏洞影响严重,且PoC可能会在短时间内被大量传播利用,建议使用Drupal开源内容管理系统的用户尽快进行更新。
0x01 PoC分析及技术细节
漏洞详情
Drupal Render API对于#会进行特殊处理。
其中#pre_render在render之前操作数组,#post_render接收render的结果并在其添加包装,#lazy_builder用于在render过程的最后添加元素。
由于对于部分#属性数组值,Drupal会通过call_user_func的方式进行处理,导致任意代码执行。
漏洞触发流程
在core\modules\file\src\Element\ManagedFile.php
中,应用使用uploadAjaxCallback
对用户请求form进行处理,获取其中带有#的特殊变量getValue
函数,遍历form 获取带有 #
属性的变量
在doRender
中调用call_user_func
造成了任意代码执行
调用栈如下
0x02 补丁分析及相关说明
补丁分析
最新版本对于请求GET、POST、COOKIE 进行了过滤处理对所有带有#
的数组输入进行了检查和过滤
相关说明
对于Drupal 8.X 版本,可直接利用PoC进行远程代码执行攻击。
对于Drupal 7.X 版本,由于未找到相关上传点,目前PoC不可用。
以上就是Drupal核心远程代码执行漏洞分析报告是怎么样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。