google/aura-inspector
GitHub: google/aura-inspector
针对 Salesforce Experience Cloud 的安全审计工具,自动化发现配置错误、记录泄露和未授权访问等安全问题
Stars: 47 | Forks: 11
# aura-inspector
这不是一个官方支持的 Google 产品。本项目不符合 [Google 开源软件漏洞奖励计划](https://bughunters.google.com/open-source-security) 的参与资格。
## 简介
aura-inspector 是 Salesforce Experience Cloud 测试的瑞士军刀。它有助于发现配置错误的 Salesforce Experience Cloud 应用程序,并自动化大部分测试过程。其部分功能包括:
- 发现 Guest(访客)和 Authenticated(已认证)上下文中可访问的记录
- 能够使用未公开文档的 GraphQL Aura 方法获取对象的总记录数
- 检查自注册功能
- 辅助发现 Record List 组件,提供对配置错误对象列表的 UI 访问
- 发现“Home URLs”,这可能允许对敏感管理功能的未授权访问
## 安装
### pipx(推荐)
可以使用以下命令通过 pipx 安装该工具。
```
pipx install git+
```
### pip
该工具需要 Python 3 运行,并需要 pip 来下载依赖项。我们建议创建一个虚拟环境来安装依赖项。
```
git clone
cd aura-inspector
virtualenv env
source ./env/bin/activate
pip3 install -r requirements.txt
```
## 快速开始
可以使用 -h 标志调用帮助菜单,该菜单提供了配置列表。
```
python3 aura_cli.py -h
usage: python3 aura_cli.py [-h] [-u URL] [-c COOKIES] [-o OUTPUT_DIR] [-l OBJECT_LIST] [-d] [-v] [-p PROXY] [-k] [-a] [--app APP] [--aura AURA] [--context CONTEXT] [--token TOKEN] [--no-gql] [-r AURA_REQUEST_FILE]
options:
-h, --help show this help message and exit
-u, --url URL Root URL of Salesforce application to audit
-c, --cookies COOKIES
Cookies after authenticating to Salesforce application
-o, --output-dir OUTPUT_DIR
Output directory
-l, --object-list OBJECT_LIST
Pull records only the provided objects. Comma separated list of objects.
-d, --debug Print debug information
-v, --verbose Print verbose information
-p, --proxy PROXY Proxy requests
-k, --insecure Ignore invalid TLS certificates
--app APP Provide the target salesforce app's path (e.g: /myApp), the script will try to detect it if not provided
--aura AURA Provide the target salesforce aura's path (e.g: /aura), the script will try to detect it if not provided
--context CONTEXT Provide a context to be used as aura.context in POST requests, the script will use a dummy one if not provided
--token TOKEN Provide an aura token to be used as aura.token in POST requests, the script will use a dummy one if not provided
--no-gql Do not check for GraphQL capability and do not use it
--no-banner Do not display banner
-r, --aura-request-file AURA_REQUEST_FILE
Provide a request file to an /aura endpoint
```
该工具提供了多种选项,可在不同场景下发挥作用。以下内容涵盖了几种不同的情况。
## 基本用法
在标准配置下使用该工具非常简单,只需运行以下命令即可。这将以未认证方式运行所有检查,并返回从 Guest(访客)用户角度可访问的内容。
`python3 aura_cli.py -u `
输出还将揭示是否存在可用于创建账户的自注册功能。如果您确实有机会在该实例上注册,从已认证上下文运行该工具可能会产生更多结果。
要在已认证上下文中运行该工具,可以使用 -c 参数提供 SID cookie,或者通过提供一个包含已认证会话中对 aura 端点的任意请求内容的文件,让工具为您解析此参数及其他参数。
`python3 aura_cli.py -r `
## 处理多个 App
单个实例可能托管多个自定义 App。如果您在路径中看到类似 `//s` 的内容,通常可以识别出这种情况。如果是这种情况,我们建议找到所有 App,并使用 `--app` 参数指定它们,因为输出可能会有显著差异。另外建议,如果实例上托管了任何自定义 App,请尝试针对默认 App "/" 运行该工具。
# 开发者:
- Amine Ismail
- Anirudha Kanodia
标签:Aura, Experience Cloud, GraphQL, Python, SaaS安全, Salesforce, Unix, Web报告查看器, 协议分析, 图计算, 安全测试, 密码管理, 攻击性安全, 数字足迹, 文档结构分析, 无后门, 未授权访问, 权限提升, 白盒审计, 网络安全, 记录发现, 足迹分析, 配置错误检测, 隐私保护