首页 今日头条正文

牛栏山二锅头,看我怎么使用Drupal缝隙并经过歹意图片完成一键RCE,晚上睡觉出汗

近期,Drupal发布了两个针对7.x十八岁猛汉和8.x版别的要害缝隙修正补丁。进犯者能够运用这两个缝隙来完结长途代码履行,但他们首要要将恶意图片上传至长途服务器,并通过一系列假造链接来诈骗已认证的网站管理员来协助他们完结代码履行。尽管这种方法比较“曲我的姐夫折”,但这也现已足够了。

缝隙运用演示视频

这两个缝隙编号分别为ZDI-19-130和ZDI-19-291,将这两个缝隙组合运用后,进犯者将能够完结一键式代码履行。在账户注册的过程中,进犯者能够将嵌入了恶意代码的图片以头像的方法上传,也能够在论坛的谈论区上传。已禁用用户注册和用仙墓陆云户奶茶妹妹身世起底谈论功用的Drupal网站不会遭到这种进犯的影响,请广阔网站管理员赶快将自己的Drupal站点晋级为最新版别。

其间,ZDI-19-130是一个PHP反序列化缝隙,牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗该缝隙将答应进犯者运用网站管理员来完结长途代码履行,而ZDI-19-291是一个耐久型XSS缝隙,进犯者能够运用该缝隙逼迫网站管理员发送恶意恳求,并触发缝隙ZDI-19夏夕颜欧爵-130。

关于ZDI-19-130的运用原理能够参阅Thomas在本年Black Hat上的【】,或参阅Thomas在BSidesM牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗CR上的 。简而言之,这是一种通过Phar文件触发PHP反序列化缝隙的一种新方法,PHP Phar文件的元数据会以PHP序列化方针的方法存储,针对Phar文件的文件操作会触发服务器在已存储的元数据上履行反序列化-unserialization操作,并终究导致长途代码履行。

缝隙ZDI-19-291则是Drupal在处理已上传文件的文件名过程中存在的一个缝隙,啊好爽该缝隙与PCRE-Perl兼容的正则表达式有关。当用户牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗上传文件时,Drupal会运用PRCE来修正文件名,以防止文件名重复。可是假如屡次上传文件,Drupal就会删去文件的扩展名,并导致进犯者能够上传恣意HTML文件。

缝隙剖析 进犯第一阶段:ZDI-19-291

这份PHP代码段陈梦竹能够用来测验Drupal的部分源码:【点我获取】。

依据源码的注释,下面这段代码会测验删去文件名中值小于002的ASCII控制字符,并将其替换成下划线(‘_‘)。代码中的’/u’表明PHP引擎会将PCRE表达式以及相关字符串以UTF-8编码进行处理:

进犯第一阶段测验成果:

其间,\xFF字节现已失效,\x80字节没有有用的开始字节,PHP抛出了一个“PREG_BAD_UTF8_ERROR”过错,$basename变量被设置为了牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗NULL。

在Drupal源码中,履行完preg_replace后不会进行过错查看。当一个带有无效UTF-8字符文件名的图片上传至Drup常建祥al两次时,该函数将会运用$basename变量值来运转,并将其视作空字符串来处理。最终,函数会回来$destination,也便是’_’.$counter++的成果。

这样一来,进犯者就能够通过用户注册功用向Drupal网站上传一个GIF图片,然后Drupal吊钟会用以下方法存储图片:

/sites/default/files/pictures//_0

而不是默许存储方法:

/sites/default/files/pictures//profile_pic.gif

尽管运用会对上传图片的特点进行检测,但增加“GIF”或“.gif”字样现已能够满意检测条件了。

另一牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗种方法是通过谈论编辑器上传恶意GIF文件。这种情况下,图片会被存储至/sites/default/files/inline-images/_0。可是,进犯者在谈论某篇文章之前注册一个用户账号。

进犯者将恶意GIF/HTML文件上传至Drupal服务器之后,能够诈骗浏览器将文件以HTML页面的方法出现出来:

此刻,进犯者将能够在方针Drupal站点上完结耐久化XSS进犯了。通过运用这种缝隙,进犯者将能够逼迫具有管理员权限的用户发送进犯第二阶段的恶意恳求。

可履行PoC:【点我获取】

缝隙运用-第二阶段:ZDI-19-130

ZDI-19-130是一regester个反序列化缝隙,能够通过/admin/config/med帝国少女ia/file-system节点的file_temporary_path恳求参数来触发。进犯者还能够指定“phar://”流封装器来让file_temporary_path恳求参数指向攻扎纸人姜琳击者上传至Drupal服务器的恶意Phar文档论仁慈。

下面爱数控论坛的system_check_directory函数是表单回调函数,负责处理用户恳求。依据咱们的研讨,“!is展业达人钱包_dir($directory)”能够直接让PHP触发针对Phar文档中元数据的反序列化操作。通过POP链运用技能,进犯者将能够运用专门制造的Phar文档来在Web服务器中完结恣意代码履行。

缝隙运用-第二阶段:Polyglot文件

在运用ZDI-19-130之前,咱们需求上传一个Phar文档,咱们能够在用户注册阶段将JPEG/Phar Polyglot文件以用户头像的方法上传。下面给出的是一个JPEG/Pha潘爱国rPolyglot文件样本,它会履行cat /etc/passwd指令,并运用缝隙ZDI-19-130。

Phar文闺华记档跟JAR文件很像,它是一个组件包调集文件。在咱们的缝隙运用场景中,运用的是根据TAR的Phar文档。

为了创立Polyglot文件,进犯者需求挑选一个JPEG图片向量。根据TAR的恶意Phar文档需求存储在JPEG文件最初的JPEG注释域中。需求留意的是,咱们需求修正TAR文件的校验码,不然TAR文件会溃散。

* 参阅来历:thezdi,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf安小晚霍深.COM

声明:该文观念仅代表作者自己,搜狐号系信息发牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗布渠道,搜狐仅供给信息存关音山储空间服务。
牛栏山二锅头,看我怎样运用Drupal缝隙并通过恶意图片完结一键RCE,晚上睡觉出汗
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

人生若如初相见,2019年9月17日世界新闻简报,娇兰

  • 神医圣手,从“我国饭碗”看开展成果,人世间

  • 处理器,黄金急跌逾20美元 1500大关再度失守 似已触底仍长时间看涨,楚王好细腰

  • 中国法定结婚年龄,(09-12)涨停揭秘:信息技术板块走强 浩丰科技涨停,国海证券

  •   

  • 安河桥吉他谱,微软将为折叠屏设备带来特别的网页阅读体会,刘翔

  • 三甲医院,苹果5美元视频会员定价让华尔街分析师吃惊:很有进攻性,动漫电影