zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

如何使用GraphCrawler测试GraphQL节点的安全

节点测试安全 使用 如何 GraphQL
2023-06-13 09:15:04 时间

关于GraphCrawler

GraphCrawler是一款功能强大的自动化安全测试工具,在该工具的帮助下,广大研究人员可以轻松对任意GraphQL节点进行安全测试。

工具运行机制

GraphCrawler基于Escape Technology强大的Graphinder工具来进行GraphQL节点搜索。我们只需要将其指向一个域名,并添加-e选项,Graphinder便会对目标GraphQL节点执行子域名枚举和热门目录搜索。接下来,所有的扫描结果都将会传递给GraphCrawler以进行更加深入地分析。

随后,GraphCrawler将检测是否启用了变异选项,并检查任何可用的敏感查询,例如用户和文件等。如果目标节点是否是Apollo Server,如果是的话,则运行Clairvoyance实现暴力破解。工具会对目标节点给出一个安全评级(1-10),10分为高危。

工具要求

1、Python3 2、Docker 3、使用pip命令安装所有的Python依赖 4、从google-10000-english获取字典文件

工具下载

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/gsmith257-cyber/GraphCrawler.git
(向右滑动、查看更多)

接下来,切换到项目目录,并通过pip3命令和项目提供的requirements.txt文件安装该工具所需的依赖组件:

cd GraphCrawler
pip3 install -r requirements.txt

工具使用

python graphCrawler.py -u https://test.com/graphql/api -o <fileName> -a "<headers>"
(向右滑动、查看更多)

我们在使用该工具的时候,可以不指定输出选项,默认配置下工具会将输出结果保存到schema.json文件中。

工具输出样例

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

GraphCrawler

https://github.com/gsmith257-cyber/GraphCrawler

参考资料:

https://github.com/Escape-Technologies/graphinder https://github.com/nikitastupin/clairvoyance https://gitlab.com/dee-see/graphql-path-enum/ https://github.com/first20hours/google-10000-english