承接工程系列
导航栏目
过滤设备
承接工程系列
游泳池设计

联系我们
招商加盟
Drupal 爆远程代码执行漏洞腾讯云网
文章来源:未知      发布者:飞艇娱乐
产品名称
  Drupal 爆远程代码执行漏洞腾讯云网
 
产品规格
  
 
产品用途
  
     
详细说明
     

  幸运飞艇平台早前,知名 CMS 系统 Drupal 被官方宣称存在严重安全漏洞(漏洞编号:CVE-2018-7600)。

  Drupal 是全球三大开源内容管理系统 CMS 平台之一,被广泛应用于构造各种不同应用的网站项目。

  攻击者利用该漏洞对受影响版本的Drupal网站发动攻击,无需登录认证即可直接执行任意命令,包括下载重要文件,修改页面,上传Webshll,篡改页面或进行挖矿等行为。最终可接管站点,而管理员还毫不知情。

  4月13日,网上公开了针对该漏洞的攻击命令。以下是云鼎实验室对该漏洞的详细技术分析。

  Drupal 在 3 月 28 日爆出一个远程代码执行漏洞,CVE 编号 CVE-2018-7600,通过对比官方的补丁,可以得知是请求中存在 # 开头的参数。Drupal Render API 对于 # 有特殊处理,比如如下的数组:

  所以如果我们能将这些变量注入到$form数组中,即可造成代码执行的问题。

  但是由于 Drupal 代码复杂,调用链很长,所以导致了所谓“开局一个 #,剩下全靠猜”的尴尬局面,即使知道了漏洞触发点,但是找不到入口点一样尴尬。直到昨日,CheckPoint 发布了一篇分析博客,我才注意到原来 Drupal 8.5 提供了 Ajax 上传头像的点,并且明显存在一个$form数组的操纵。在已经知道触发点的情况下,构造剩下的 PoC 就非常容易了。

  虽然实现了代码执行,但是#pre_render调用的参数是一个数组,所以导致我们不能任意的执行代码。不过 Render API 存在很多可以查看的地方,通过翻阅Renderer::doRender函数,注意到#lazy_builder:

  #lazy_builder是一个 array,其中元素 0 为函数名,元素 1 是一个数组,是参数列表。接着利用call_user_func_array进行调用。不过注意到上方这段代码:

  当数组中的参数不以 # 开头时,会当作 children element 进行子渲染,所以我们传入mail[a][#lazy_builder],在进行子渲染的过程中,就会得到一个干净的数组,最终导致命令执行。

  本文分析的是 Drupal 8.5.0,对于 8.4.x,在注册时默认没有上传头像处,但是也可以直接进行攻击,对于 Drupal 7,暂时未找到可控点。

  为避免攻击者进行批量利用从而造成更大影响,腾讯云安全团队对云上与企业用户做了以下两个应对策略:

  一、如果您 Drupal 服务为官方源码方式安装,腾讯云安全团队建议升级更新。

  腾讯云网站管家 WAF 早在该漏洞公布后,第一时间更新防御规则,已经部署腾讯云网站管家服务的用户将不受此漏洞的威胁影响。

  主动监测并及时发现高危 Web 漏洞,0day 漏洞;腾讯安全团队7x24小时持续响应 0day 漏洞,紧急漏洞问题;12h 内更新高危漏洞防护补丁,24h 内更新常见通用型漏洞防护补丁;网站管家云端自动升级针对漏洞的攻击防护策略,全球秒级同步下发;

  特斯拉产品上市之后,凭借独特的设计理念和互联网化应用体验迅速抓到消费者的心,产品在多个...[详细]

  每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

广州水处理设备有限公司
厂区:广州高新技术开发区
地址:广州市开元路水映唐庄50号楼
电话:0898-69132656
传真:0898-69132656
手机:18532657185 13007326701 13323324585
© 2014-2017 版权所有幸运飞艇娱乐工作室 粤ICP备14001732号网站地图