嘿嘿,亲爱的师傅们好呀~
最近收到好多小伙伴的贴心反馈:"大师的实验性漏洞研究超干货!但对着视频记笔记实在不方便啊..." ⚡️所以以后打算随着视频同步推出文章,当然都是免费的哈哈!
文章一般首发于地图大师自己的网站:https://www.ditusec.com 的实验记录模块
**注意:该漏洞属于实验型漏洞,是地图大师挖掘的个别漏洞案例,未验证存在普适性(说人话就是没验证是否可以通杀,大概率不能)所以你挖不到同样的,不要蛐蛐大师!!
一、之前挖洞忽略的细节:坐标
前几天(其实是2024年12月份就录了视频)在挖洞过程中,意外诞生了一个新的小思路。它和地图有关,但并不是之前分享过的地图 API 泄露方向,而是一个独立的、围绕坐标的小技巧。
这次想和大家详细讲讲,希望能为各位师傅挖洞时提供一些新的思考角度。
在以往挖 SRC 的过程中,经常能在接口返回包中看到各种地理定位信息。有经验的师傅可能会立刻联想到地图 API key 泄漏的挖掘技巧——但今天,我们要把注意力放到另一个容易被忽略的地方:经纬度坐标本身。
小知识复习:什么是经纬度?
-
经纬度是一种基于地球表面的全球坐标系,用于精确描述任意位置。
-
通常表示为
(纬度, 经度)
的格式。
例如:
-
北京的坐标:
(39.9042° N, 116.4074° E)
-
纽约的坐标:
(40.7128° N, 74.0060° W)
中国大陆的经纬度范围:
-
经度:73°33′E ~ 135°05′E
-
纬度:3°51′N ~ 53°33′N
在实际应用中,很多小程序、APP 或 Web 页面会请求用户开启定位权限,以提供基于地理位置的服务,比如:
-
推荐附近餐厅
-
显示周边商场
-
提供本地活动信息
在这些请求中,开发者往往直接返回了定位对应的商户 ID或地点 ID。有时,结合其他接口,我们甚至能利用这些 ID 进一步访问到敏感数据。
但,这还远远不够引发一场真正的坐标风暴。
二、为什么起名为「坐标风暴」
如果只是通过本地定位拿到单个商户的信息,影响是有限的。而「坐标风暴」这个名字,来源于这样一个大胆的设想:
如果我们能遍历全国范围内的经纬度,批量收集所有商户的 ID,再通过信息泄露接口拉取全部敏感信息呢?
这将从单点的小泄露,演变成覆盖全国的大规模信息泄漏。这就是真正意义上的“风暴”。
想象一下:
-
不是一两家商户的住址、电话外泄
-
而是全国各地成千上万家商户的敏感数据一览无遗
这就是「坐标风暴」带来的破坏力。
三、「坐标风暴」实战案例解析
在某次小程序漏洞挖掘中,我遇到了这样一个完整的利用链:
发现阶段
-
小程序返回了一个定位接口,其中包含一个商户定位 ID。
-
-
通过这个 ID,配合另一个已知接口,可以查询到对应商户的个人敏感信息:
-
联系电话
-
身份证正反面照片
-
商户地址
但一开始,只能拿到自己附近的那一家的信息。
思考与突破
为了扩大影响范围,我开始思考:
-
能否拿到更多商户的 ID?
-
能否批量遍历而不是局限于当前定位?
于是,我将攻击点放在了定位接口本身。
技术实现
-
制作全国经纬度字典
-
我根据中国大陆的经纬度范围,生成了大量经纬度点。
-
精度保留到小数点后一位,即每隔大约 10 公里一个点。
-
这样的精度对大部分模糊定位接口已经足够。
-
批量爆破定位接口
-
遍历生成的经纬度点,调用定位接口,获取商户 ID。
-
由于商户 ID 通常是复杂字符串(如
4ou&8c12cd
),不能直接遍历 ID,只能靠坐标遍历来覆盖。 -
批量获取敏感信息
-
拿到大量商户 ID 后,再通过敏感信息查询接口,拉取商户的个人数据。
最终,成功实现了全国范围内的商户数据批量泄露。
总结
这次的「坐标风暴」案例告诉我们:
-
漏洞不仅存在于显而易见的数据泄漏中。
-
看似无害的经纬度坐标,如果利用得当,也能撬动大规模的数据泄漏。
-
在挖洞时,记得问自己一句话:
如果我能批量伪造/遍历这些数据,会发生什么?
地理数据并不安全。连坐标也可能背叛你。
原文始发于微信公众号(地图大师的漏洞追踪指南):地理数据的背叛:坐标风暴漏洞讲解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论