v1r4m/where-to-go
GitHub: v1r4m/where-to-go
绕过 Naver 地图 API 认证,通过坐标直接获取韩国境内街景全景图像的安全研究工具。
Stars: 0 | Forks: 0
# 去哪里
韩国 Randonautica
## Naver Map ...
* 使用风险自负
* Naver Map 街景 API 虽然可以通过申请官方 key 来使用...
* 但是像这样的全景图已经被上传到了静态服务器上。
```
https://panorama.pstatic.net/imageV3/QZuCo1JTy4wVlylyMIvURg/P
https://panorama.pstatic.net/image/oHnufkqUAGFbhVy2EU1pJA/512/P
```
* 根据图像版本,两者会有细微差异,不过这不是重点
* 也就是说,只要有一个能将坐标值转换为那种哈希值的表,就可以绕过 API 认证,获取离坐标最近的全景图像。而且这种东西自然是存在的。**甚至连会话 Cookie 验证都没有。**
```
curl 'https://map.naver.com/p/api/panorama/nearby/127.8737772/38.2275148' \
-H 'accept: application/json, text/plain, */*' \
-H 'accept-language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4' \
-H 'cache-control: no-cache' \
-H 'expires: Sat, 01 Jan 2000 00:00:00 GMT' \
-H 'referer: https://map.naver.com/p?c=9.65,0,0,0,adh'
```
```
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"camera_angle": [
0.0,
222.7,
0.0
],
"heading": 328.65,
"land_altitude": 22036,
"description": "강원특별자치도 양구군 방산면",
"id": "oHnufkqUAGFbhVy2EU1pJA",
"tilt": 10.0,
"camera_altitude": 22286,
"photodate": "2024-06-10 10:24:54",
"type": "3",
"title": "평화로",
"fov": 90
},
"geometry": {
"type": "Point",
"coordinates": [
127.8749479,
38.2260051
]
}
}
]
}
```
## 全景图顺序
* right, front, left, back, bottom, top
## 呵呵
* QZuCo1JTy4wVlylyMIvURg 顺便说一下,仔细看的话,这个哈希其实是 base64/hex 编码的 UUID。
```
data = base64.urlsafe_b64decode("QZuCo1JTy4wVlylyMIvURg==")
print(data.hex())
# 419b82a35253cb8c15972972308bd446
# 419b82a-3525-3cb8-c1597-2972308bd446
```
标签:API安全, API绕过, BSD, ESC4, Homebrew安装, JSON输出, Naver Map, OSINT, Python脚本, Randonautica, Web安全, 云资产清单, 全景视图, 后端开发, 地图服务, 地理位置信息, 地理定位, 坐标转换, 数据挖掘, 未授权访问, 网络安全, 蓝队分析, 资源枚举, 逆向工程, 隐私保护, 隐私风险, 韩国