专栏首页FreeBufFacebook系统HTML转PDF文档可能引起的RCE漏洞

Facebook系统HTML转PDF文档可能引起的RCE漏洞

该漏洞能让攻击者在Facebook的tapprd.legal.thefacebook.com服务端(Server-Side)执行HTML代码,如此实现远程代码执行(RCE)。原因在于漏洞页面中用于填充输入的HTML标签未经转义,就被直接传递给了“HTML至PDF转化器”(HTML to PDF Converter)进行下一步文件转化。以下为作者的分享思路。

HTML转PDF过程中存在的漏洞

1、Workplace by Facebook为Facebook旗下办公通讯软件,通过公司或群组模式实现内部团队交流沟通。当属于公司或群组的个人创建Workplace by Facebook账号时,会从Facebook官方邮箱legal_noreply@fb.com收到一封确认邮件,该邮件中包含一个需由帐号所有者签署的在线协议URL,而该URL中包含一个特殊的token,如下:

https://legal.tapprd.thefacebook.com/tapprd/Portal/ShowWorkFlow/AnonymousShowStage?token=

打开以上URL页面后,其中包括需由用户输入的姓名、地址、电邮、职业等区域。如果我尝试向这些区域中注入HTML代码后,会发现其Web应用会对所有的文本执行HTML编码。首先,我想到的是抓包拦截请求,但是行不通,被阻挡 了。接下来,我注意到,Web应用是先对文本执行HTML编码,然后当在服务端(Server-Side)进行PDF格式转化时,会对其进行HTML解码;

2、所以我想到了进一步提权的可能,由于前述的Javascript脚本不在“HTML至PDF转化器”的内部解析范围,因此,我想到了用 “file://” 这种IFRAME中的URL格式,来尝试读取本地文件;

然后,我通过转化后的PDF文档中的IFRAME元素扫描查看到了Web应用的内部网络,从中可以区分出一些现有IP和开放/关闭端口。通过这点,可以有多种提权至RCE的方法:

1、由于Web应用服务器中还存在另一个漏洞,我可以通过它获取到Web应用的内部系统路径,然后由此提取出web.config文件,进而得到关于Web应用的更多敏感配置信息;

2、在扫描查看了Web应用的内部网络后,我发现其中一些仅限内部访问的WebLogic服务器系统存在可利用漏洞;

3、在捣鼓测试了一番不同的URL方法后,我发现用“about://”格式方法后,在PDF文件中的一个IE页面列出了所有的菜单选项和IE版本。因为我对ASP.NET不熟,但我当时猜想,是否Web应用打开IE中的HTML页面用到了某种Windows API接口?还有在那个HTML页面中是否包含了一个用于截屏或文档转化的Javascript代码,如类似于开源PDF文档生成工具 jsPDF一样?基于这样的假设,我尝试向其中嵌入一些针对IE的Payload攻击载荷(出于保密原因,抱歉在此不能做太多细节公布)。

有了以上三种实现RCE的方法后,最后一步就是如何来执行攻击了,恰巧,我发现该Web应用系统中存在我之前公布的一个Facebook电子邮件伪造漏洞,那么两者结合就能形成最大程度威力了。

以legal_noreply@fb.com伪造发送电子邮件漏洞

该漏洞在于,可以用Facebook官方的无需回复邮箱legal_noreply@fb.com,以Facebook雇员或合作伙伴身份,伪造电邮正文并发送给任意用户邮箱地址。漏洞原因在于以下链接:

https://legal.tapprd.thefacebook.com/tapprd/Portal/ShowWorkFlow/AnonymousEmbed/XXXXXXXXXXXXX

该链接是一个邮件处理模板,存在的问题是:除其中的邮件生成模板不可更改外,却可以任意指定收件人邮箱地址和收件人姓名,然而,由于收件人姓名字段没有对HTML注入做出限制过滤,因此我可以对邮件正文执行编辑修改,并对其它部分添加文字说明(具体参见writeup)。如下:

漏洞测试被叫停

由于Facebook漏洞众测政策原因,还没待我把所有方法步骤完全实施完成,就收到了Facebook安全团队停止测试的通知。

Facebook给我的回复是,该Web应用是由某第三方合作伙伴开发的,为了避免深入的测试威胁,他们会及时通知第三方修复漏洞并发布补丁。而我也因此没得到一个理想的赏金奖励,但明白人都知道,该系统负责处理的具体业务,以及发现高危入侵漏洞后的价值。

漏洞报送处理进程

2019.4.7 漏洞初报 2019.4.10 Facebook确认 2019.5.1 Facebook需要更多验证性资料 2019.5.21 Facebook确认漏洞有效性 20.19.6.18 Facebook修复漏洞 2019.7.3 Facebook发放1000$赏金

本文分享自微信公众号 - FreeBuf(freebuf),作者:clouds

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Shazam地理位置漏洞分析:单击链接即可窃取用户的准确位置

    近期,研究人员在流行的Shazam应用程序中发现了一个漏洞。在该漏洞的帮助下,攻击者只需单击一个链接就可以窃取用户的精确位置!目前,受该漏洞影响的用户数量已经超...

    FB客服
  • WinRAR 0day漏洞 (附利用过程)

    英国安全机构Mohammad Reza Espargham的漏洞实验室发现,流行压缩工具WinRAR 5.21最新版里存在一个安全漏洞,目前该漏洞还属于零日漏洞...

    FB客服
  • 看我如何利用Drupal漏洞并通过恶意图片实现一键RCE

    近期,Drupal发布了两个针对7.x和8.x版本的关键漏洞修复补丁。攻击者可以利用这两个漏洞来实现远程代码执行,但他们首先要将恶意图片上传至远程服务器,并通过...

    FB客服
  • 安全漏洞公告

    1 Linux Kernel 'linux-image-3.2.0-4-5kc-malta'软件包拒绝服务漏洞Linux Kernel 'linux-image...

    安恒信息
  • 深入剖析最新IE0day漏洞

    在2018年4月下旬,我们使用沙箱发现了IE0day漏洞;自从在野外发现上一个样本(CVE-2016-0189)已经有两年多了。从许多方面来看,这个特别的漏洞及...

    伍尚国
  • 安恒资产安全及漏洞管理解决方案

    大数据赋予了人类 前所未有的对海量数据的处理和分析能力 让人们拥有便捷的生活 但同时伴随着 数据和信息安全的隐患 今天就和小安一起来了解一下 企业资产安全及漏洞...

    安恒信息
  • docker-mcr 助您全速下载 dotnet 镜像

    2018 年五月之后,微软将后续发布的所有 docker image 都推送到了 MCR (Miscrosoft Container Registry),但在中...

    newbe36524
  • 黑客可能已经在利用CPU漏洞赚钱了

    上周曝出的CPU高危漏洞影响范围之大堪称前所未有,而知名黑客组织“影子经济人”在出售黑客服务论坛上发的广告,则意味着已有犯罪分子开始利用CPU漏洞赚钱。影子经济...

    企鹅号小编
  • HackerOne的双因素认证和上报者黑名单绕过漏洞($10,000)

    大家好,今天我要和大家分享的是一个HackerOne相关的漏洞,利用该漏洞,我可以绕过HackerOne漏洞提交时的双因素认证机制(2FA)和赏金项目中(Bug...

    FB客服
  • Go基础——struct结构体

    结构体是一种自定义类型,是不同数据的几何体,struct是值类型,通常用来定义一个抽象的数据对象,

    羊羽shine

扫码关注云+社区

领取腾讯云代金券