针对配置错误的Supabase实例的自动化侦察和利用框架。功能包括模式枚举、基于Selenium的密钥提取、RLS绕过验证以及为安全研究人员提供的服务角色管理员转储。
针对 Supabase 实例的高级侦察与利用工具。
SupaHunter 是一款强大的 Python 工具,旨在识别、分析和利用配置错误的 Supabase 项目。它不仅仅是简单的表枚举,还提供深度检查能力、基于 Selenium 的密钥提取以及高级权限提升检查。
/rest/v1/,以映射整个数据库架构。get_schema、exec_sql 等)。fetch/XHR 请求,并实时提取 apikey 和 Authorization 标头。POST、PATCH 和 DELETE 请求(安全模式),以验证行级安全是否真正生效或仅是个幌子。INSERT、UPDATE 事件)。service_role 密钥。auth.users(若可能包含电子邮件、哈希值)、存储桶等。dump.db)和/或 CSV 文件。克隆仓库:
git clone https://github.com/proxydom/supahunter.git
cd supahunter
安装依赖:
pip install -r requirements.txt
(需要 requests、selenium、webdriver-manager、websockets)
安装 Firefox(用于 Selenium): 该工具使用 Firefox Headless。请确保已安装(不过它会自动下载)。
扫描单个 URL,查找暴露的密钥和表。
python3 supahunter.py https://target.com
扫描 URL 列表,启用 Selenium,并将结果保存到 SQLite。
python3 supahunter.py -f targets.txt --selenium --sqlite --download-files
如果你已有 API URL 和密钥,可直接使用(也适用于 service_role 密钥!)。
python3 supahunter.py --manual-url https://xyz.supabase.co --manual-key eyJ... ---manual-url projectid.supabase.com
提供用户 JWT 令牌(或凭据),以测试已验证用户的 RLS 绕过。
python3 supahunter.py https://target.com --token "eyJ..."
或让工具尝试自动注册: --email [email protected] --password Hunter123!
如果检测到 service_role 密钥,工具会自动切换到 SERVICE 模式,转储 auth.users、审计日志和所有存储桶。
此工具仅用于教育目的和授权安全测试。未经许可访问或修改数据是违法的。作者不对任何滥用行为负责。
祝狩猎愉快,保持合法吧兄弟们 :)
| 标志 | 描述 |
|---|
--selenium | 启用 Selenium 进行动态密钥提取(较慢但有效)。 |
--sqlite | 将转储数据保存到本地 SQLite 数据库(loot/.../dump.db)。 |
--download-files | 从公共/开放存储桶下载文件。 |
--fuck-opsec | 激进模式: 无限制下载速度和行数。 |
--listen | 监听实时 WebSocket 事件,以获取实时数据泄露。 |
--limit N | 限制每个表转储的行数(默认:无限制/自动)。 |
--dry-run | 仅扫描,不转储数据。 |