挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息
字数 1137 2025-08-18 11:38:37
Facebook Marketplace 卖家地理位置信息泄露漏洞分析
漏洞概述
本漏洞涉及Facebook Marketplace功能中卖家精确地理位置信息的泄露问题。通过该漏洞,攻击者可以获取发布商品卖家的精确经纬度、邮编等敏感位置信息,而Facebook声称这些信息已被模糊化处理以保护隐私。
Facebook Marketplace简介
- Facebook于2016年10月推出的P2P商品交易平台
- 允许用户购买和销售物品
- 自动显示附近卖家的商品信息
- 内置地点工具可调整查看区域
- 仅在某些国家开放服务
漏洞发现背景
作者在协助调查Marketplace上的被盗商品时,发现可以获取卖家的精确地理位置信息,这有助于追回被盗物品,但也存在隐私泄露风险。
技术分析
正常功能表现
- 用户界面显示"Location is approximate to protect the seller's privacy"
- 声称地理位置已被模糊化处理
- 位置选择工具显示大概区域而非精确位置
实际数据泄露
通过分析API响应(facebook.com/api/graphql),发现以下精确信息被泄露:
"location": {
"latitude": 54.9942235,
"longitude": -1.6041244,
"reverse_geocode": {
"city": "Newcastle upon Tyne",
"state": "England",
"postal_code": ""
},
"reverse_geocode_detailed": {
"city": "Newcastle upon Tyne",
"state": "England",
"postal_code": "NE2 2DS"
}
}
漏洞利用方法
- 访问Marketplace商品页面
- 开启浏览器网络监控(如Chrome开发者工具)
- 分析API响应中的地理位置数据
- 使用经纬度在谷歌地图中精确定位卖家位置
漏洞危害
- 精确地理位置暴露:可精确定位到米级精度
- 结合其他信息:与卖家真实姓名结合可确定具体住址
- 潜在风险:
- 恶意攻击者定位受害者
- 跟踪骚扰
- 入室盗窃等犯罪行为
漏洞上报过程
- 初次上报被Facebook拒绝
- 深入分析后再次上报仍被拒
- 通过Facebook内部人士转交
- 最终被接收并修复
- 获得$5,000奖金
修复建议
- 对API返回的地理信息进行模糊化处理
- 随机分配地图选择圆圈内的位置
- 只显示邮编的部分数字
- 确保前端声明与实际数据处理一致
技术要点总结
- 前端声称模糊化处理,后端却返回精确数据
- API响应包含不应公开的详细地理位置信息
- 经纬度+邮编可精确定位物理位置
- 设计矛盾:要求精确位置却声称保护隐私
教学要点
- API安全测试:即使前端显示模糊信息,也应检查API实际返回数据
- 地理位置处理:涉及位置信息的系统应确保前后端处理一致
- 隐私声明验证:所有隐私保护声明需有实际技术措施支持
- 漏洞上报策略:初次被拒后应深入分析并寻找其他上报途径
防御措施
对于类似平台开发者:
- 实施真正的地理位置模糊算法
- 建立API响应数据审查机制
- 确保隐私声明与实际技术实现一致
- 对敏感数据进行分类和访问控制
对于用户:
- 谨慎在Marketplace等平台发布商品
- 了解平台隐私政策
- 必要时可故意设置不精确的位置信息