发布于 2026-01-06 1 阅读
0

监视他们如何监视我们——网站如何将敏感数据泄露给第三方。DEV 全球展示挑战赛,由 Mux 呈现:展示你的项目!

监视他们监视我们——网站如何将敏感数据泄露给第三方。

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

什么是 TellTale URL?

URL是最常被追踪的信息之一。仅仅根据页面内容构建URL,看似无害的做法,却可能使用户的浏览历史、地址、健康信息或其他更敏感的个人信息更容易被获取。URL本身可能包含敏感信息,或者指向包含敏感信息的页面。

我们将这类 URL 称为 TellTaleURL。

让我们来看一些这类网址的例子。

示例 1:

网站donate.mozilla.org(已修复)

在donate.mozilla.org完成支付流程后,您将被重定向到一个“谢谢”页面。如果您仔细查看下方截图中显示的 URL,会发现其中包含一些私人信息,例如电子邮件地址、国家/地区、金额和支付方式。

donate.mozilla.org 网站上 URL 中的个人身份信息

由于此页面加载了一些来自第三方的资源,并且 URL 没有经过清理,因此相同的信息也会通过引用和作为发送给第三方的有效负载中的值与这些第三方共享。

从 Google API 加载字体时共享包含个人身份信息的 URL。

在这个案例中,共有 7 个第三方共享了这些信息。

Mozilla 已迅速修复这些问题,更多详情请参见:https://bugzilla.mozilla.org/show_bug.cgi?id =1516699

示例 2:

网站:trainline.eu、JustFly.com(上次访问时间:2018年8月)

购买火车票/机票等产品后,您会收到一封包含预订管理链接的电子邮件。大多数情况下,点击该链接后,您无需输入预订代码、用户名/密码等其他信息,即可查看预订详情。

这意味着 URL 本身包含一些用户独有的令牌,并提供对用户预订的访问权限。

巧合的是,这些网址也与第三方共享,这使得这些第三方能够获取高度敏感的数据访问您的预订信息

JustFly.com 将预订 ID 泄露给 10 个第三方域名

trainline.eu 与 17 个第三方域名共享预订令牌。

通过 Ref 共享带有令牌的 URL,该 URL 位于有效负载中。

示例 3:

网站foodora.de、grubhub.com(上次检查时间:2018年8月)

在线订餐的先决条件之一是输入您希望送餐到的地址。

一些热门的外卖网站会将地址转换为精确的经纬度值,并将其添加到网址中。

该网址还会与第三方共享,可能会泄露用户的居住地。

Foodora 将地址信息泄露给 15 个第三方域名。

需要明确的是,并非只有这些网站才会遭受此类泄露。这个问题普遍存在——这是一种常态,而非罕见现象。我们已经看到汉莎航空、Spotify、Flixbus、阿联酋航空,甚至医疗服务提供商都存在这种情况。

TellTale URL 的风险:

  • 网站正在不加防范地向大量第三方泄露敏感信息。
  • 大多数情况下,这是未经用户同意的。
  • 更危险的是:大多数网站在实施第三方服务时并没有意识到这些漏洞。

这些问题难以解决吗?

作为一名曾在一些最大的电子商务公司工作的软件工程师,我深知需要使用第三方服务来优化和增强数字产品以及用户与产品的交互方式。

本案的关键不在于使用第三方服务,而在于如何实施这些服务。网站所有者应始终对其网站及其与第三方服务共享的内容拥有控制权。

正是需要采取这种控制措施来限制用户信息的泄露。

这并非一项艰巨的任务,而仅仅是维护基本隐私权的决心问题。

例如:

  1. 私有页面应添加noindex 元标签
  2. 限制私人页面上第三方服务的出现。
  3. 包含敏感数据的页面上的引荐来源策略。
  4. 实施 CSP 和 SRI。尽管第三方服务覆盖面广,但大多数网站仍未启用CSPSRI 。

隆重介绍当地警长:

既然这种信息泄露对用户和组织都存在危险,那么为什么它会成为一个普遍存在的问题呢?

造成这些问题的一个重要原因是缺乏认识。

对于网站来说,一个好的起点是查看哪些信息正在泄露或检测是否存在 TellTaleURL。

但为了查明您维护或访问的网站是否也存在同样的问题,您需要学习一些工具来检查网络流量,了解第一方与第三方之间的关系,然后确保在交易过程中打开这些工具。

为了弥合这一差距,我们希望按照以下准则开发一款工具:

  • 易于安装。
  • 监控并存储网站与第三方之间交换的所有数据——存储在用户本地计算机上。
  • 帮助识别哪些公司正在互联网上跟踪用户。
  • 用于搜索泄露给第三方的信息的界面。

根据以上指导原则,浏览器扩展程序似乎是一个合理的选择。安装 Local-Sheriff 后,它会在后台运行:

  1. 它使用 WebRequest API 来监控第一方和第三方之间的交互。
  2. 对 URL 进行分类,区分第一方 URL 和第三方 URL。
  3. 随船附上WhoTracksMe数据库副本,用于映射哪个域名属于哪个公司。

  4. 提供一个界面,您可以搜索您认为属于个人隐私的信息,并查看哪些网站将这些信息泄露给了哪些第三方。例如:姓名、电子邮件地址、家庭住址、出生日期、Cookie 等。

回顾示例 1

网站: donate.mozilla.org

  • 该用户已安装 Local-Sheriff 并向 mozilla.org 捐款。

donate.mozilla.org 网站上 URL 中的个人身份信息

  • 点击图标打开搜索界面。

当地警长图标。

  • 输入在 donate.mozilla.org 网站上使用的电子邮件地址。

搜索界面 本地警长

可以看出,捐赠时使用的电子邮件地址与约 7 个第三方域名共享。

您可以自行安装尝试:

Firefox: https://addons.mozilla.org/de/firefox/addon/local-sheriff/

Chrome: https ://chrome.google.com/webstore/detail/local-sheriff/ckmkiloofgfalfdhcfdllaaacpjjejeg

更多详情https://www.ghacks.net/2018/08/12/local-sheriff-reveals-if-sites-leak-personal-information-with-third-parties/

源代码https://github.com/cliqz-oss/local-sheriff

会议: Defcon 26 Demo LabsFOSDEM 2019

代码: https://github.com/cliqz-oss/local-sheriff

Chrome 应用商店: https://chrome.google.com/webstore/detail/local-sheriff/ckmkiloofgfalfdhcfdllaaacpjjejeg

感谢阅读和分享!:)

如果你喜欢这个故事,请随意点赞👏👏👏几次(最多50次。真的)。

祝您编程愉快!

- 科纳克·莫迪

鸣谢:

  • 特别感谢 RemiPallavi 对本文的审阅 :)
  • 标题“看着他们看着我们”源自当地警长和 Trackula 在 FOSDEM 2019 上的联合演讲。
文章来源:https://dev.to/konarkmodi/watching-them-watching-us-how-websites-are-leaking-sensitive-data-to-third-parties-1nn3