“地图API后台配置错误”:挖SRC的新玩具?
字数 1045 2025-08-11 08:36:00
地图API后台配置错误漏洞挖掘指南
漏洞概述
地图API后台配置错误漏洞是指网站管理员在使用高德、百度、腾讯等地图API服务时,未正确配置密钥(key/ak)的白名单限制,导致攻击者可以获取并滥用这些密钥,消耗API调用额度,最终可能导致地图服务无法正常使用。
漏洞原理
地图API密钥通常有以下限制:
- 每日调用上限
- QPS(并发)上限
- 应配置IP/域名白名单
当密钥未配置白名单时,任何获取到该密钥的人都可以:
- 恶意消耗API调用额度
- 出售密钥给其他开发者牟利
- 导致地图加载异常或定位服务失效
漏洞验证Payload
高德地图
-
Web API验证:
https://restapi.amap.com/v3/direction/walking?origin=116.434307,39.90909&destination=116.434446,39.90816&key=YOUR_KEY -
JS API验证:
https://restapi.amap.com/v3/geocode/regeo?key=YOUR_KEY&s=rsv3&location=116.434446,39.90816&callback=jsonp_258885_&platform=JS -
小程序定位验证:
https://restapi.amap.com/v3/geocode/regeo?key=YOUR_KEY&location=117.19674%2C39.14784&extensions=all&s=rsx&platform=WXJS&appname=c589cf63f592ac13bcab35f8cd18f495&sdkversion=1.2.0&logversion=2.0
百度地图
-
Web API验证:
https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=YOUR_AK -
iOS版验证:
https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=YOUR_AK=iPhone7%2C2&mcode=com.didapinche.taxi&os=12.5.6
腾讯地图
- Web API验证:
https://apis.map.qq.com/ws/place/v1/search?keyword=酒店&boundary=nearby(39.908491,116.374328,1000)&key=YOUR_KEY
漏洞判断标准
- 存在漏洞:返回正常的地理信息数据
- 已修复:返回错误代码如10006或10008,或提示"app调用失败"
挖掘方法
方法1.0 - 手动挖掘
- 在目标网站中寻找调用了地图的功能点(如"关于我们"、"位置查找"等)
- 查看页面源代码,搜索关键词
key=或ak= - 获取密钥后使用上述Payload验证
方法2.0 - 空间搜索引擎批量挖掘
奇安信Hunter语法
(web.body="webapi.amap.com"||web.body="api.map.baidu.com"||web.body="apis.map.qq.com"||web.body="map.qq.com/api/js?v=")&&domain.suffix="目标域名"
Fofa语法
(body="webapi.amap.com"||body="api.map.baidu.com"||body="apis.map.qq.com"||body="map.qq.com/api/js?v=")&&domain="目标域名"
钟馗之眼语法
(Banner:"webapi.amap.com" Banner:"api.map.baidu.com" Banner:"map.qq.com/api")+site:"目标域名"
360Quake语法
domain:"目标域名" AND (response: "webapi.amap.com" OR response: "api.map.baidu.com" OR response: "map.qq.com")
漏洞报告模板
标题:XX网站-XX管理后台-存在XX地图API接管漏洞
描述:
XX网站-生活圈管理后台-存在高德地图API接管漏洞,攻击者可利用抓取的高德地图ak值任意调用属于XX的高德地图的API额度,造成XX的高德地图API额度被恶意盗用、消耗等。当额度被消耗完毕后,会造成地图加载异常,定位服务无法使用等,影响用户体验。
复现步骤:
- 浏览器访问目标网站
- F12查看页面源代码搜索
key获得key值 - 由于管理员对于地图控制台配置错误,导致任意用户均可调用该API用以消耗额度
- 参考高德地图官方web调用接口构造Payload验证
修复方案:
参考对应地图官方文档,正确配置API密钥的白名单限制。
注意事项
- 该漏洞目前已被广泛挖掘,可能较难通过审核
- 仅用于合法安全测试,禁止非法利用
- 心态放平,将重点放在技术学习而非收益上
防御建议
对于网站管理员:
- 严格按照地图API官方文档配置密钥
- 设置严格的IP/域名白名单
- 定期检查API调用情况
- 及时更新和替换泄露的密钥
对于安全研究人员:
- 关注第三方组件的安全配置
- 建立漏洞挖掘的交流圈子
- 持续学习新的技术和方法