当前位置: 首页 > article >正文

【$25000】利用Zendesk Nday获取漏洞赏金

  更多大厂面试经验的视频分享看主页和专栏

 目录:

发现契机

  漏洞影响

  关键点

  开始猎捕漏洞

  测试门户

  发现契机

  漏洞影响

  关键点

  开始猎捕漏洞

  测试门户

 

在这篇博客中,我将分享如何在 Zendesk 客户的默认配置中发现模板注入漏洞。

发现契机

有一天,我看到了 Rojan Rijal dai 分享的一篇文章,他演示了如何在 Zendesk 和 Salesforce 等支持门户中利用动态占位符来窃取敏感数据。

在这篇博客中,他解释了如何使用 Zendesk 的占位符/模板创建工单。当工单被创建时,这些模板会被渲染,从而实现数据外泄。

Zendesk 提供了一系列占位符模板,例如:

{{ticket.ccs[0].name}}

{{ticket.ccs[0].phone}}{{ticket.ccs[0].custom_fields}}{{ticket.ccs[0].notes}}


漏洞影响

攻击者可以创建包含恶意模板的支持工单,并将受害者用户添加为 CC(抄送)对象。

当模板被渲染时,攻击者可以窃取 CC 用户的电话、姓名、内部备注、定制字段等信息。

例如: 窃取 CC 用户的定制字段和用户备注可能使攻击者访问内部数据,包括用户地址、账单信息,甚至个人身份信息(PII)。

这是一个极具吸引力的攻击向量,我也想在私人漏洞奖励项目中测试它。


关键点

Rojan dai 在文章中强调了一个关键点:

        此漏洞只能针对自定义支持门户进行利用。

例如:https://support.gitlab.com/hc/en-us 是一个默认的 Zendesk 门户。

默认的 Zendesk 门户使用 Zendesk 提供的表单 https://support.gitlab.com/hc/en-us/requests/new 来创建工单。

而 https://support.github.com是一个后台使用 Zendesk 的自定义支持门户。

自定义门户是带有自定义表单的网站,其表单数据通过 API 传递到 Zendesk。因此,如果程序使用 /v2/tickets.json API 在后台创建工单,注入便有可能。


开始猎捕漏洞

在尝试在我的大多数项目中测试此漏洞时,我很快意识到,识别这些“自定义表单”是一个挑战,需要大量手动检查。

相反,识别默认的 Zendesk 门户却仅需几分钟。

我所需要做的就是收集目标项目的子域,然后通过 CNAME 解析,我找到了大量默认 Zendesk 门户,例如 target.zendesk.com

由于原文章中对默认门户的攻击较少探索,我决定从这条路径进行测试。


测试门户

以下是一个普通 Zendesk 门户(默认配置)的示例,其所需字段如下:

email, subject and description

图片

我在主题/描述中提交了带有恶意模板的表单。

在工单创建后,尽管用户输入可以被反映出来,但由于存在数据清理(sanitization),无法实现注入攻击。

图片

Zendesk正在对主题内容进行清理。

那么,如果我创建一个没有主题的工单会怎样?仅在描述正文中包含有效负载(payload)。

图片

主题字段不能为空!这感觉像是刚开始就走到了死胡同。

然而,当我继续检查一些默认的Zendesk门户时,我注意到了一些有趣的现象。其中一个项目的Zendesk门户在创建工单时不需要主题字段

图片

这次我只需要在描述中插入一个恶意模板并提交表单,模板成功被渲染了。

图片

因此,尽管Zendesk对原始主题字段(subject field)进行了清理,但如果创建的工单没有主题,Zendesk会使用描述字段(description body)作为主题。而这种描述 <-> 主题的引用操作缺乏必要的清理。

我们现在有了一个Zendesk中的占位符注入漏洞。

但有一个小问题,这种漏洞仅对那些Zendesk表单中没有主题字段的项目有效,而这样的项目并不多。

鉴于这个漏洞的奇妙之处,我必须绕过这个“主题”字段的强制性要求,并能够创建没有主题但在描述中包含有效载荷的工单。

基于电子邮件的工单创建

除了通过API或表单创建工单之外,Zendesk还支持基于电子邮件的工单创建。

我们可以发送一封电子邮件到support@target.zendesk.com,电子邮件的内容将被处理为一份支持工单。

我们还可以在电子邮件中添加其他用户为工单的抄送(CC)。

图片

由于我可以在发送电子邮件时控制主题字段和正文字段,因此我向 support@target.zendesk.com 发送了一封没有主题的电子邮件,在电子邮件正文中包含了恶意模板,并将受害者的电子邮件地址添加为抄送(CC)。

图片

我们收到的邮件回复是什么?

图片

一个模板注入漏洞,使我能够通过将受害者信息(如姓名、电话、角色、自定义字段等)添加为抄送(CC)来泄露信息。

报告

该漏洞的影响范围取决于具体的程序。

一些程序已经禁用了Zendesk的电子邮件抄送功能,因此无法提取信息。

而一些程序则使用了静态主题行,由于没有处理攻击者的输入,因此根本无法进行注入。

图片

图片

Zendesk 还具有模板抑制/激活规则。

因此,程序确实采取了一些措施,可以对抗这种攻击。

厂商回应

该漏洞的处理被视为低到高影响的漏洞,具体取决于我能够泄露的数据信息。

图片

几乎所有厂商都对这个漏洞都非常积极,并采取了迅速的措施来解决它。

图片

与此同时,一些厂商要求我将此漏洞报告给Zendesk,并且也从他们那边进行了沟通。该漏洞随后报告给了Zendesk。被评为“中等——业务逻辑漏洞"。

在这篇博客中,我将分享如何在 Zendesk 客户的默认配置中发现模板注入漏洞。

 

 更多大厂面试经验的视频分享看主页和专栏

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关   


http://www.kler.cn/a/441231.html

相关文章:

  • 芯片AI深度实战:基础篇之langchain
  • 基于Cipher的Java加密工具类
  • SQL UCASE() 函数详解
  • Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
  • 【JavaWeb06】Tomcat基础入门:架构理解与基本配置指南
  • Unity游戏(Assault空对地打击)开发(1) 创建项目和选择插件
  • 基于STM32设计的粮食仓库(粮仓)环境监测系统_284
  • Flutter:ListView实现一个可左右滑动的商品列表
  • 【Unity功能集】TextureShop纹理工坊(二)图层(上)
  • 单词谜(详解版)
  • python —— 常用命令行的命令
  • JS逆向--反调试(SoJson为例)
  • 从构想到实现:EasyOne 多模态 AI 产品开发历程
  • 集成自然语言理解服务,让应用 “听得懂人话”
  • 解决Linux 虚拟机网段与虚拟机配置网段不一致
  • IP6822为智能手机提供无线充电方案的无线充电发射微控制SOC芯片
  • Day25 C++ 文件和流
  • SLM510A系列——24V,15到150mA单通道可调电流线性恒流LED驱动芯片
  • 浅说单调队列
  • java中输入输出流
  • vue3 父组件调用子组件 el-drawer 抽屉
  • linux 串口调试工具minicom使用详解
  • CSS基础与应用详解
  • 王佩丰24节Excel学习笔记——第十五讲:条件格式与公式
  • 浅谈Java注解之CachePut
  • springboot城镇保障性住房管理系统(代码+数据库+LW)