BlackHat是世界上最大的网络安全活动之一,每年夏天都会在美国拉斯维加斯举行。那些参加 BlackHat 的人可能已经注意到他们的徽章包含 NFC 标签。此 NFC 标签在商务大厅的展位进行扫描,因此供应商可以收集他们的营销数据,包括姓名,地址,公司,职位和电话号码。在 BlackHat 之后,各个供应商扫描过徽章的与会者会收到一连串的营销电子邮件。我最初没有意识到的一件事是数据实际包含在标签内部。

今年在 BlackHat 的培训期间,我对徽章和挂绳在培训中在我的脖子上发出噪音感到沮丧,所以我将它取下并放在我旁边的桌子上。后来我将手机放在上面并看到了通知,以便阅读 NFC 标签。出于好奇,我下载了一个标签阅读器应用程序,查看了我的标签上存储的数据并做了一些观察:

image1.png

在查看上面的数据后,我遇到了一些问题:供应商如何获取我的电子邮件地址的?我的所有数据都存储在卡上,只有部分数据是加密的吗?是否有可用于提取其余数据的 API?几天后,我决定重新访问并下载了 BCard APK。我使用 Jadx 工具将 APK 反编译为 Java 源码,并开始在输出中搜索任何潜在的 API 端点。


1)./jadx-gui ~/Desktop/bcard.apk

2)grep -R "http.*://"

image2.png

image3.png

image4.png

接下来,我做了一些数学计算,以确定能够暴力枚举所有 BlackHat 与会者的可行性。在 0-100000 和 000000-100000 上尝试了几百个请求并且没有收到有效的徽章后,我确定那些可能不会是有效的 ID 范围。然后我们可以假设有效 ID 是 100000-999999。这给我们留下了 900,000 个请求。估计有 18,000 名 BlackHat 与会者,我们可以假设我们将在大约 2%的请求中枚举有效的 badgeID。

image5.pngimage6.png

我们能够强制改变访问 API 的速度意味着我们可以在大约 6 个小时内成功收集所有 BlackHat 2018 注册与会者的姓名,电子邮件地址,公司名称,电话号码和地址。

在成功证明这个概念之后,我开始了漏洞披露过程。ITN 团队最初很难与他们联系,因为他们没有 security@ 或者 abuse@电子邮件地址,但是一旦我能够与合适的人联系,他们就非常有礼貌,专业和敏感。此外,他们在初次接触后的 24 小时内解决了此问题。

披露时间表 

2018 年 8 月 9 日 – 通过电子邮件发送 security@电子邮件地址并收到退回回复。 

2018 年 8 月 9 日 – 在 LinkedIn 上向首席运营官发送了一条消息。 

2018 年 8 月 12 日 – 在 LinkedIn 上向系统管理员发送了一条消息,并在当晚晚些时候收到了 IT 主管的回复。我们交换了一些电子邮件,详细说明了这个问题,我被告知他们将在星期一讨论这个问题。 

2018 年 8 月 13 日 – 我被告知 API 已被禁用,因为它是一个遗留系统。重新测试 API 后,我无法提取任何 BlackHat 与会者记录。

*参考来源:ninja.style,生如夏花编译,转自FreeBuf