freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

挖洞经验 | HackerOne的双因素认证和上报者黑名单绕过漏洞($10,000)
2018-11-20 13:00:16

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

PC-HackerOne.jpg大家好,今天我要和大家分享的是一个HackerOne相关的漏洞,利用该漏洞,我可以绕过HackerOne漏洞提交时的双因素认证机制(2FA)和赏金项目中(Bug Bounty Program)的上报者黑名单限制。该漏洞严重性最终被定级为中级,漏洞原因为授权不当( Improper Authorization),赏金为$10,000美金。

漏洞说明

该漏洞是一个功能性Bug,最初上报给HackerOne时,他们给我设置的赏金是 $2,500,漏洞评级CVSS 5.0,但经HackerOne安全团队对这个漏洞执行根本原因分析流程(Root Cause Analysis,RCA)之后,他们又基于我上报的这个漏洞,发现了另一个高危严重漏洞(CVSS 7.1),因此,HackerOne官方最终又额外奖励了我$7,500美金。

漏洞发现

众所周知,HackerOne是一个漏洞众测网站,而我也经常在上面参与各个厂商的漏洞测试。通常,我总会留意HackerOne的一些新推出功能,某天,偶然间我就发现了其一个名为“嵌入式漏洞报告样式”(Embedded Submission Form)的试用功能,利用该功能,白帽们可以:

1、利用其嵌入式提交脚本,提供个人邮箱后,不用创建HackerOne账号就可上报提交漏洞,之后HackerOne会向这个邮箱反馈具体的漏洞处理进程;

2、另外,如果不提供个人邮箱,就会被视为匿名漏洞提交,这种提交方式下,白帽们就不会获得任何上报积分和赏金。匿名上报是该功能的一个选项。

大家可以点此处官方说明查看Embedded Submission Form功能的具体使用方法。

围绕该功能,我有了以下授权不当(Improper Authorization)的漏洞发现:

1、在上报提交某个厂商测试项目的漏洞时,可以利用“嵌入式漏洞报告样式”(Embedded Submission Form)功能,在不开启匿名上报时,绕过HackerOne对漏洞提交时的双因素认证(2FA)条件限制,当然了绕过这个2FA限制,这个提交漏洞还是计为你的上报漏洞。具体的2FA设置可点此查看;

2、可以绕过厂商漏洞测试项目的上报者黑名单限制。这里的上报者黑名单,也就是说,如果某名白帽总是上报一些无关漏洞,或存在超出测试范围或违反测试方法的行为,那么测试厂商可以把这名白帽拉到黑名单中,就不会再收到该名白帽的上报漏洞了。这个上报者黑名单功能可点此查看。

漏洞分析

绕过HackerOne对对漏洞提交时的双因素认证(2FA)

通常,漏洞测试厂商在白帽们提交漏洞之前,可以强制漏洞提交者实行一个双因素认证(2FA)校验,URL样式大概如此:

https://hackerone.com/<program>/submission_requirements

具体设置如下:

01.jpg像漏洞测试厂商Parrot Sec的测试项目,在该功能下,就要求漏洞提交者在提交漏洞之前,执行一个双因素认证(2FA)校验步骤,即使我尝试者在我自己的账户中禁用漏洞提交的2FA校验操作,但是,最终也还是不行,这样的话我会被Parrot Sec阻拦掉不能提交漏洞了,所以,必须得启用2FA校验操作。

02.jpg现在,我们利用“嵌入式漏洞报告样式”(Embedded Submission Form)功能,来尝试看看是否能绕过这个漏洞提交的2FA校验机制:

1、登录你自己的HackerOne账户,去掉你账户中的2FA校验功能设置;

2、来到漏洞测试厂商Parrot Sec的赏金项目下https://hackerone.com/parrot_sec,点击提交漏洞(Submit Report),此时,因为你自己没启用2FA校验功能,所以是不能提交漏洞的,只有启用2FA校验功能才能顺利提交漏洞;

3、从Parrot Sec厂商的漏洞测试策略中,找到Embedded Submission Form相关的漏洞提交链接,其漏洞提交链接形如:https://hackerone.com/<redacted_UUID>/embedded_submissions/new,其中的redacted_UUID为一串类似0a1e1f11-257e-4b46-b949-c7151212ffbb的串号数字。

4、在你的HackerOne账户登录状态下,利用上述的Embedded Submission Form功能提交漏洞,然后就能不需要测试项目强制的2FA校验要求了。后经测试,这种方式的漏洞提交,还能绕过测试项目中设置的漏洞提交频率(Report Rate Limit)和内部功能滥用限制( Internal Abuse Limit)。

漏洞造成的影响:

白帽子们可以绕过漏洞测试项目中的2FA校验、漏洞提交频率和其它内部功能滥用限制,这种不当的授权操作,对厂商的漏洞处理形成干扰,也破坏了HackerOne平台的严谨安全性。HackerOne安全团队基于此发现的第二个漏洞比较严重,如果另一名白帽在此时正在编写漏洞提交报告,那么攻击者可以访问到其漏洞报告中的附件内容。

绕过漏洞测试项目的上报者黑名单限制

如果某名黑客的提交行为与测试项目中的策略不一致,或超出测试范围,或违反测试方法,测试厂商可以把该名白帽拉入黑名单,禁止接收到其提交漏洞,当然还能在公开(Public)或私密(Private)项目中限制该名白帽。更多说明点此查看。具体设置如下:

03.png于是,我想到了我的朋友 Ace Candelario ,他是Parrot Sec公司的公司代表,也是Parrot Sec公司在HackerOne平台的漏洞确认分类人。因此,我请求他在Parrot Sec测试项目后台把我的HackerOne账户拉入黑名单,禁止我提交漏洞。之后,我点击提交漏洞就会出现以下错误页面:

04.png好吧,我已经成为了Parrot Sec漏洞测试项目的黑名单人员了。但是,当我用前述绕过2FA的方法步骤来尝试时,我还是可以继续向Parrot Sec提交漏洞!

漏洞影响:

一些恶意的白帽子们,在被拉入黑名单之后,还能以此继续向测试厂商提交漏洞,对厂商的漏洞处理形成干扰,也破坏了HackerOne平台的严谨安全性。

漏洞原因

经HackerOne安全团队评估,以上两个漏洞的触发原因相同,都是由于在利用Embedded Submission Form功能编写漏洞报告时,其中的调试请求 uuid/embedded_submissions 中启用了不安全的检验方法 interact_without_authorization,这种情况下,后端的访问控制列表机制(ACL)就会被绕过。

2018-11-12_100825.png漏洞上报进程

2018.10.04 02:41:19     — 向HackerOne安全团队提交漏洞

2018.10.05 20:07:59    — HackerOne确认并分类漏洞

2018.10.05 20:53:21     —HackerOne向我发放 $10,000美金赏金

2018.10.06 00:38:15     — CVSS 7.1的高危漏洞被及时修复,CVSS5.0漏洞正在修复中

2018.10.25 23:11:03     —CVSS5.0漏洞被修复

2018.10.25 23:11:03     —漏洞处理完成

更多技术信息请参考原漏洞报告

*参考来源:medium,clouds编译,转载请注明来自FreeBuf.COM   

# 漏洞 # 双因素认证 # HackerOne # 绕过
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录