freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用GraphCrawler测试GraphQL节点的安全
2022-09-21 20:34:03
所属地 广西


关于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:【GitHub传送门

参考资料

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

# 安全测试 # GraphQL # GraphQL安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录