Graph Crawler 是用于任何 GraphQL 端点的最强大的自动化测试工具包。
新增:可使用 Escape Technology 强大的 Graphinder 工具自动搜索端点。只需指向一个域名并添加 -e 选项,Graphinder 将执行子域名枚举并搜索常见目录以寻找 GraphQL 端点。之后 GraphCrawler 将接管并逐一处理每个发现。如果无法内省模式,可以通过 -s 选项以 JSON 文件形式提供。
它将运行检查是否启用了变更操作,查找任何敏感查询(如用户和文件),并测试发现的简单查询是否需要身份验证。
如果端点未启用内省功能,它会检查是否为 Apollo 服务器,然后可以运行 Clairvoyance 进行暴力破解并获取建议,以尝试自行构建模式(请参阅 Clairvoyance 项目了解更详细的信息)。
随后它会对发现结果进行 1-10 分评分,10 分为最严重。
如果您想深入探索模式,还可以使用 graphql-path-enum 查找特定类型(如用户 ID、电子邮件等)的路径。
我希望这个工具能像为我节省时间一样为您节省时间。
python graphCrawler.py -u https://test.com/graphql/api -o <fileName> -a "<headers>"
██████╗ ██████╗ █████╗ ██████╗ ██╗ ██╗ ██████╗██████╗ █████╗ ██╗ ██╗██╗ ███████╗██████╗
██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║ ██║██╔════╝██╔══██╗██╔══██╗██║ ██║██║ ██╔════╝██╔══██╗
██║ ███╗██████╔╝███████║██████╔╝███████║██║ ██████╔╝███████║██║ █╗ ██║██║ █████╗ ██████╔╝
██║ ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║██║ ██╔══██╗██╔══██║██║███╗██║██║ ██╔══╝ ██╔══██╗
╚██████╔╝██║ ██║██║ ██║██║ ██║ ██║╚██████╗██║ ██║██║ ██║╚███╔███╔╝███████╗███████╗██║ ██║
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝╚═╝ ╚═╝
输出选项非必须,默认会输出到 schema.json 2. Docker 安装 注意:由于 graphcrawler 使用某些需要文件输入或产生输出的选项,建议将所有文件放在工作目录中,并挂载到容器的 /workspace 路径。您的所有输出将保存到该挂载目录。
docker build -t graphcrawler:1.2 .
docker run -v /path_to_workspace:/workspace -it graphcrawler:1.2 -u https://test.com/graphql/api -o <filename> -a "<headers>"
词表来自 google-10000-english