地图API配置错误,让黑客轻松入侵你的位置数据!

admin 2024年11月20日13:21:26评论90 views字数 6489阅读21分37秒阅读模式

扫码领资料

获网安教程

地图API配置错误,让黑客轻松入侵你的位置数据!
地图API配置错误,让黑客轻松入侵你的位置数据!

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

0x1 前言

哈喽,师傅们!

这篇文章主要是带师傅们掌握下地图API配置错误漏洞导致的key或者ak泄露,然后进行使用我们总结的payload进行打一个漏洞利用。下面也会给师傅们举例我挖到的部分地图API漏洞,其中企业src部分企业会收这个漏洞,部分不收,我之前在众测挖的这个漏洞,收的多点。

地图API配置错误,让黑客轻松入侵你的位置数据!

0x2 地图API简介

一、web服务API简介

高德/百度/腾讯Web服务API向开发者提供HTTP接口,开发者可通过这些接口使用各类型的地理数据服务,返回结果支持JSON和XML格式。

Web服务API对所有用户开放。使用本组服务之前,需要申请应用Key。不同类型用户可获取不同的数据访问能力。

地图API配置错误,让黑客轻松入侵你的位置数据!

下面这篇文章就是高德地图的key创建的官方文档:https://lbs.amap.com/api/webservice/create-project-and-key

在我们使用一些导航地图的时候,在创建web服务的API时候,就可能会把我们的key值或ak值(百度地图的密钥叫ak)给泄露出来,像这个可以直接在改站点的网页源代码检索泄露出来的key或者ak值

地图API配置错误,让黑客轻松入侵你的位置数据!

二、泄露的API key可能带来的问题

1.滥用和超额使用

●如果 API Key 泄露,其他人可能会滥用你的 API Key,导致你的账户超额使用配额,从而产生额外费用或服务中断。

2.费用增加

●高德地图 API 通常有免费配额,但一旦超出免费额度,额外的请求可能会产生费用。泄露的 API Key 可能会导致不必要的费用增加。

3.数据安全和隐私问题

●通过泄露的 API Key,恶意用户可能会访问你的应用程序的数据或进行不当操作,这可能会影响你的数据安全和隐私。

4.服务中断

●如果发现 API Key 被泄露并被滥用,服务提供商可能会对相关密钥进行封禁或其他措施,可能导致你的应用服务中断。

三、如何应对API key泄露

1.立即更换密钥

●尽快在高德地图开发者控制台中生成新的 API Key,并替换掉泄露的旧密钥。

2.限制 API Key 的使用范围

●在高德地图的 API 控制台中,你可以为 API Key 设置访问限制,例如限制 IP 地址、设置配额等,以减少被滥用的风险。

3.监控使用情况

●定期检查 API 使用情况,了解是否有异常的请求模式或超额使用情况。

4.安全存储密钥

●避免将 API Key 硬编码在代码中,使用安全的方式存储密钥,例如环境变量或配置文件。

5.设置警报和监控

●配置警报和监控,及时发现和响应 API Key 的异常使用。

可以参考高德地图的官方文档:

https://lbs.amap.com/faq/webservice/webservice-api/basic-configuration/43238

https://lbs.amap.com/faq/quota-key/key/41186

地图API配置错误,让黑客轻松入侵你的位置数据!

地图API配置错误,让黑客轻松入侵你的位置数据!

0x3 API漏洞挖掘技巧

一、地图大师API payload总结

高德地图api、百度地图api、腾讯地图api最终总结了以下这些payload,师傅们可以直接将key值或ak值(百度地图的密钥叫ak)直接代入我总结的payload进行验证:

 高德webapi:          https://restapi.amap.com/v3/direction/walking?origin=116.434307,39.90909&destination=116.434446,39.90816&key=这里写key           高德jsapi:          https://restapi.amap.com/v3/geocode/regeo?key=这里写key&s=rsv3&location=116.434446,39.90816&callback=jsonp_258885_&platform=JS           高德小程序定位:          https://restapi.amap.com/v3/geocode/regeo?key=这里写key&location=117.19674%2C39.14784&extensions=all&s=rsx&platform=WXJS&appname=c589cf63f592ac13bcab35f8cd18f495&sdkversion=1.2.0&logversion=2.0           百度webapi:          https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=这里写key           百度webapiIOS版:          https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=这里写key=iPhone7%2C2&mcode=com.didapinche.taxi&os=12.5.6           腾讯webapi:          https://apis.map.qq.com/ws/place/v1/search?keyword=酒店&boundary=nearby(39.908491,116.374328,1000)&key=这里写key

二、漏洞验证技巧

对于我们上面给师傅们总结的API地图泄露的key值进行一个payload的利用,那么师傅们就会问了,如何利用这个payload呢,还有就是如何验证这个漏洞呢?

我们在打这个目标站点,使用这个payload,如何判断这个站点存在,打入成功。在我们打入这个payload的时候,在页面上如何判断这个是否存在,下面我来给师傅们演示下,然后带师傅们了解下页面的情况。

1、下面先给师傅们演示下可以成功打地图API泄露的站点,可以成功回显一些敏感信息,我们把我们收集到的key值或ak值(百度地图的密钥叫ak)放入我们上面总结的payload中,如下:

地图API配置错误,让黑客轻松入侵你的位置数据!

2、错误的案例演示如下,如果提示类似于app调用失败,或者错误代码10006或10008就代表这个问题已经修复了,就不用再看了。我这里出现了10008说明,漏洞不存在。

地图API配置错误,让黑客轻松入侵你的位置数据!

三、src地图API漏洞漏洞报告参考 

这个是用地图大师师傅的一个src漏洞报告的文档,专门针对小白师傅们对于src漏洞报告不太会描述的师傅,可以参考下地图大师的漏洞报告文档。

漏洞标题:xx网站-xx管理后台-存在xx地图api接管漏洞

漏洞描述:xx网站-生活圈管理后台-存在高德地图api接管漏洞,攻击者可利用抓取的高德地图ak值任意调用属于xx的高德地图的api额度造成XX的高德地图api额度被恶意盗用,消耗等。当额度被消耗完毕后,会造成地图加载异常,定位服务无法使用等,影响用户体验。

漏洞复现:         1、浏览器访问https://xxx.xxxx.com/          

2、F12查看页面源代码搜索key获得key值:         

3、由于此处XX管理员对于XX地图控制台配置错误,导致任意用户均可调用该api用以消耗额度,此处参考高德地图官方web调用接口构造payload:https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=这里写key

调用成功如下图所示:若配置正确攻击者调用该接口会提示错误代买10006或10008无法通过该接口获取地图信息          

修复方案:参考XX地图官方文档

0x4 地图API漏洞利用

一、浅谈

我们平常怎么去挖掘这个地图API 值泄露,然后导致敏感信息泄露的一个漏洞呢?

首先我们得去学会找这个漏洞,那么在什么地方,在什么情景下容易挖到,找到这方面的漏洞呢?

下面我给师傅们做一个总结,让新手师傅们也可以很简单的挖到人生中第一个地图API泄露的漏洞。在挖这方面的漏洞的时候,你会发现这些漏洞都有一个特点,那就是这个站点的功能点存在能够调用地图API,能够有导航地图的这么一个功能点,那么我们师傅们要是遇到这样的站点,就得注意下了,我们这个时候可以F12下,看看我们这个站点的网页源代码,然后直接检索key或者ak值,然后找到了,就可以去拿我们的payload去利用了。

地图API配置错误,让黑客轻松入侵你的位置数据!

二、FOFA语法批量检索

下面是我总结的一个使用fofa进行批量检索地图API 配置错误,key值泄露的一个语法,感兴趣的师傅们可以去尝试使用这个语法检索下,然后去挖挖这个漏洞

(body="webapi.amap.com"|| body="api.map.baidu.com"|| body="apis.map.qq.com"|| body="map.qq.com/api/js?v=")&& is_domain=true

地图API配置错误,让黑客轻松入侵你的位置数据!

师傅们可以看到有很多的icon图标都存在地图API相关关键字,且都很多可能存在相关key或者ak值 的一个泄露

地图API配置错误,让黑客轻松入侵你的位置数据!

可任意看到检索匹配出来了九万多个独立的IP了,数量很多,师傅们可以多去尝试下,打几个简单的地图API泄露的漏洞还是蛮简单的

地图API配置错误,让黑客轻松入侵你的位置数据!

三、实战漏洞利用

1、案例一

师傅们可以看到下面的这个租车管理系统,像这个的系统很有可能存在地图API配置错误,然后导致这个系统的key或者ak值的一个泄露。

所以师傅们也是可以根据这个租车系统的关键字,然后把我们刚才的fofa语法进行一个修改也是可以的,这样在我们的目标资产的范围就变小了,便于我们进行测试利用。

地图API配置错误,让黑客轻松入侵你的位置数据!

找到目标,检测漏洞的方式也比较简单,直接拿到这个页面,然后按我们电脑的F12即可,查看改站点的网页源代码,如下图可以看到我们找到的这个key值,直接是泄露在网页源代码中的

地图API配置错误,让黑客轻松入侵你的位置数据!

我们可以看到泄露的时候会是下面的这样的一大串字符,那么下面就来带师傅们认识这个key泄露的是哪家地图厂商的值

https://map.qq.com/api/js?v=2.exp&libraries=place&key=xxxxxxxxxxxx

我们可以直接把前面的host值直接放到百度上面去,然后可以看到下面显示的腾讯地图,同理别的地图厂商也是一样的,比如常用的高德地图和百度地图

地图API配置错误,让黑客轻松入侵你的位置数据!

然后就是直接拿我们上总结的payload值了,由于是腾讯的腾讯webapi

 https://apis.map.qq.com/ws/place/v1/search?keyword=酒店&boundary=nearby(39.908491,116.374328,1000)&key=这里写key

直接把我们收集到的改站点泄露的key值放进我们的payload中,即可看到泄露的敏感信息了

地图API配置错误,让黑客轻松入侵你的位置数据!

2、案例二

下面这个案例是我在一个我之前的CNVD漏洞上面找的,那个公司的资产比较多,之前挖的漏洞也比较多,然后拿这个公司的一个站点来给师傅们演示下。

师傅们也是可以看到下面的这个站点,是不是跟我上面说的一样,是不是存在一个可以调用地图的一个功能点或者接口,那么像这样的是不是得去测试下,F12查看下网页源代码

地图API配置错误,让黑客轻松入侵你的位置数据!

直接右击查看网页源代码,可以看到下面的这一串字符,泄露了一个关键ak,这个ak前面也给师傅们介绍了,是百度地图的一个ak泄露,跟上一个案例的key值泄露一个意思

地图API配置错误,让黑客轻松入侵你的位置数据!

也是可以放到百度上看看的,都是可以看出是百度的

https://api.map.baidu.com/api?type=webgl&v=1.0&ak=xxxxxxxxxxxx

地图API配置错误,让黑客轻松入侵你的位置数据!

可以看到泄露的一些地图上面的敏感信息

地图API配置错误,让黑客轻松入侵你的位置数据!

3、案例三

下面这个案例是一个src的一个商城的一个地图API漏洞,是一个企业src漏洞了,像这个的找特定的资产,然后去挖特点的企业src的技巧也是有的,包括去检索的方法,后面给师傅们总结下面。

下面的这个商城的功能点也是存在一个可以调用地图的功能点,那么我们是不是也是可以去利用下呢,像这样的站点,一看就感觉存在地图API漏洞。

地图API配置错误,让黑客轻松入侵你的位置数据!

直接F12,查看网页源代码,然后去检索关键字——key或者ak

可以看到都是一样的,直接就检索出来了我们的地图API漏洞泄露的key值了

地图API配置错误,让黑客轻松入侵你的位置数据!

老方法,直接把前面的host值放入到百度中去看看是什么类型的key,然后再去使用对应的payload值

type:'get',                      url:'https://restapi.amap.com/v3/geocode/geo',                      data:{                key:'xxxxxxxxxxxxxxxx',                          address:'xxxxxxxxxxxxxxxxxxx',          }

还是我们熟悉的高德地图,那么就可以使用高德地图的payload了

高德webapi:https://restapi.amap.com/v3/direction/walking?origin=116.434307,39.90909&destination=116.434446,39.90816&key=这里写key

地图API配置错误,让黑客轻松入侵你的位置数据!

直接再次拿下一个站点,感兴趣的师傅们可以去尝试挖下,跟着我的步骤和思路去

地图API配置错误,让黑客轻松入侵你的位置数据!

0x5 高级检索骚技巧汇总

这个是使用网络空间引擎来进行一个批量检索,可以很好的检索到地图API配置错误的漏洞,你只要把你要挖的网站等更域名替换下面我写的语法即可,搜到后打开网站在源代码中搜索关键字ak=或key=得到key值。

一、奇安信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="根域名替换"

地图API配置错误,让黑客轻松入侵你的位置数据!

二、FOFA 引擎

(body="webapi.amap.com"||body="api.map.baidu.com"||body="apis.map.qq.com"||body="map.qq.com/api/js?v=")&&domain="根域名替换"

地图API配置错误,让黑客轻松入侵你的位置数据!

三、360 Quake

domain:"根域名替换" AND (response: "webapi.amap.com" OR response: "api.map.baidu.com" OR response: "map.qq.com")

地图API配置错误,让黑客轻松入侵你的位置数据!

0x6 总结

这篇文章呢,也是到这里给师傅们介绍完了。

这篇文章前面给师傅们介绍下这个地图API key的相关简介,让新手师傅们也可以了解和认识这个漏洞,而不是简单的只会挖,更多的是去感受和对这个漏洞的思考。

后面给师傅们演示的那几个漏洞都是我总结的,师傅们也是可以去按照我的思路和步骤去挖一挖,然后记个小笔记,好好感受这个地图API漏洞。

最后,希望师傅们能够看完这篇文章能够有满满的收获!

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担。

圈子专注于更新src相关:

1、维护更新src专项漏洞知识库,包含原理、挖掘技巧、实战案例2、分享src优质视频课程3、分享src挖掘技巧tips4、微信小群一起挖洞5、不定期有众测、渗透测试项目

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

地图API配置错误,让黑客轻松入侵你的位置数据!

欢迎加入星球一起交流,券后价仅40元!!! 即将满150人涨价
长期更新,更多的0day/1day漏洞POC/EXP

原文始发于微信公众号(神农Sec):地图API配置错误,让黑客轻松入侵你的位置数据!

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月20日13:21:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   地图API配置错误,让黑客轻松入侵你的位置数据!https://cn-sec.com/archives/3414652.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息