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报告查看器, 协议分析, 图计算, 安全测试, 密码管理, 攻击性安全, 数字足迹, 文档结构分析, 无后门, 未授权访问, 权限提升, 白盒审计, 网络安全, 记录发现, 足迹分析, 配置错误检测, 隐私保护