白帽故事 · 2025年4月17日 0

一个被遗忘的 API 端点让我赚了 $500

file

“不是总想着找突破口,有时,是在找他们忘记上锁的东西。”

什么是隐藏的 API ?

🚫 未记录(不在 Swagger 或公开文档中)
👻 过时的(由旧应用或开发面板使用)
🤫 被遗忘(意外留在生产环境中)

为什么它们很重要?

✅ 常常缺乏身份验证
✅ 绕过现代安全控制
✅ 可能泄露敏感数据
✅ 很少被‘白帽’测试

我是如何找到那个被遗忘端点的

被动侦察

通常通过waybackurls 、 gau 、 hakrawler 和 github-dorking 开始:

cat domains.txt | waybackurls | tee all_urls.txt

然后过滤掉类似 API 的端点:

grep "/api/" all_urls.txt | sort -u > api_endpoints.txt

高级技巧(大多数’白帽’都会错过这个):

grep -E "v1|v2|internal|beta|admin"

这些版本或内部端点通常保护较弱。

寻找旧APP或 JS 文件

可以通过诸如 APKMirror 上搜索了旧历史版本的 Android APK,使用 jadx 打开。

可以在 Java 代码中找到了一些硬编码的有趣端点。比如:

https://api.targetsite.com/v1/user/details_internal

大多数开发者会忘记关闭在旧版APP中使用的 API,始终检查 APK 文件和 React Native 包。

尝试访问端点

可以利用 Burp Suite 配合 Curl:

curl -X GET https://api.targetsite.com/v1/user/details_internal -H "Authorization: Bearer <token>"

比如上面这个端点它甚至没有检查Token,就有了响应包。

包含了完整用户信息,包括:

  • 姓名
  • 邮箱
  • 内部状态
  • 角色
    等等

API 还可以显示任意用户 ID 的敏感信息:

https://api.targetsite.com/v1/user/details_internal?id=1001
https://api.targetsite.com/v1/user/details_internal?id=1002

这意味着任何人都可以在不登录的情况下爬取整个数据库。

最终,白帽小哥收获 500 美元赏金奖励。

你学到了么?

原文:https://infosecwriteups.com/uncovering-hidden-apis-how-one-forgotten-endpoint-made-me-500-424e6388c406