freeBuf
主站

分类

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

特色

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

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

CrackQL:一款功能强大的图形化密码爆破和模糊测试工具
Alpha_h4ck 2022-07-09 02:22:44 255634
所属地 广西

关于CrackQL

CrackQL是一款功能强大的图形化密码爆破和模糊测试工具,在该工具的帮助下,广大研究人员可以针对密码安全和应用程序安全进行渗透测试。

除此之外,CrackQL同时也是一款通用的GraphQL渗透测试工具,它可以控制速率限制和其他分析控制技术来对目标系统进行凭证爆破和模糊测试等操作,以测试程序的安全性。

工具运行机制

CrackQL的工作原理是将单个GraphQL查询或变异自动批量处理为多个别名操作,该工具可以根据CSV输入变量确定要使用的别名数。在以编程方式生成分批GraphQL文档后,CrackQL然后会分批并将Payload发送到目标GraphQL API,并解析结果和错误信息。

工具依赖组件

Python3

Requests

GraphQL

Jinja

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone git@github.com:nichola*saleks/CrackQL.git

接下来,利用项目提供的requirements.txt文件安装该工具所需的依赖组件:

pip install -r requirements.txt

工具运行

查看帮助信息

python3 CrackQL.py -h

 

Options:

  -h, --help             显示工具帮助信息和退出

  -t URL, --target=URL   目标GraphQL节点的URL路径

  -q QUERY, --query=QUERY

                        指定输入查询或编译操作

  -i INPUT_CSV, --input-csv=INPUT_CSV

                        输入CSV列表的文件路径

  -d DELIMITER, --delimiter=DELIMITER

                        CSV输入分隔符,默认:“,”

  -o OUTPUT_DIRECTORY, --output-directory=OUTPUT_DIRECTORY

                        存储结果的输出目录,默认:./results/[domain]_[uuid]/

  -b BATCH_SIZE, --batch-size=BATCH_SIZE

                        每次GraphQL文档请求的批量操作数量,默认:100

  -D DELAY, --delay=DELAY

                        批量请求发送的时间间隔,默认:0

  --verbose           启用工具Verbose模式

  -v, --version         输出工具当前版本和退出

使用样例

python3 CrackQL.py -t http://example.com/graphql -q sample-queries/login.graphql -i sample-inputs/usernames_and_passwords.csv

工具使用演示

密码喷射爆破

sample-queries/login.graphql

mutation {

  login(username: {{username|str}}, password: {{password|str}}) {

    accessToken

  }

}

双因素身份验证OTP绕过

sample-queries/otp-bypass.graphql

mutation {

  twoFactor(otp: {{otp|int}}) {

    accessToken

  }

}

用户账号枚举

sample-queries/enumeration.graphql

query {

  signup(email: {{email|str}}, password: {{password|str}}) {

    user {

      email

    }

  }

}

不安全的直接对象引用

sample-queries/idor.graphql

query {

  profile(uuid: {{uuid|int}}) {

    name

    email

    picture

  }

}

字典Payload

sample-inputs/usernames_and_passwords.csv

username, password

admin, admin

admin, password

admin, pass

admin, pass123

admin, password123

operator, operator

operator, password

operator, pass

operator, pass123

operator, password123

许可证协议

本项目的开发与发布遵循BSD-3-Clause开源许可证协议。

项目地址

CrackQL:【GitHub传送门

参考资料

https://portswigger.net/burp/documentation/desktop/tools/intruder

https://www.graphql-modules.com/docs#authentication-module

https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application

https://github.com/nichola*saleks

https://github.com/dolevf

# 渗透测试 # 密码安全 # GraphQL # GraphQL安全
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1021 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录