CrackQL:一款功能强大的图形化密码爆破和模糊测试工具

VSole2022-08-05 08:47:26


关于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开源许可证协议。

文章来源:freebuf.com
graphql测试工具
本作品采用《CC 协议》,转载必须注明作者和本文链接
CrackQL是一款功能强大的图形化密码爆破和模糊测试工具,在该工具的帮助下,广大研究人员可以针对密码安全和应用程序安全进行渗透测试。
Arsenal是一个功能强大且使用简单的Shell脚本,该工具专为漏洞赏金猎人设计,在该工具的帮助下,我们可以轻松在自己环境中安装并部署目前社区中功能最为强大的网络侦查工具、漏洞扫描工具和其他安全研究工具。
弄清其中使用的网络武器和数字技术,有助于帮助我们提前识别风险并合理规避风险,以免在面临网络攻击时深陷网络泥潭,防患于未然。破坏性攻击旨在破坏数据并使目标系统无法运行。HermeticWiper特别针对Windows注册表文件ntuser.dat和Windows事件日志,以尽量减少可用的取证文物。
容器安全工具涵盖多种任务,包括配置加固和漏洞评估任务。Gartner持续观察AST市场发展的主要驱动力是支持企业DevSecOps和云原生应用程序的需求。Checkmarx SCA的供应链安全执行行为分析,并对给定的开源包添加操作风险指标。这得到了Gartner客户的积极反馈。Checkmarx一直在简化软件许可,将大多数产品与开发人员的数量联系起来。
自2020年6月以来,Acunetix支持日益流行的API查询语言– GraphQL。为此,您将首先创建一个故意易受攻击的API及其GraphQL定义,然后使用Acunetix对其进行扫描,消除使用Acunetix发现的严重漏洞,并确认已消除了这些漏洞。阶段1:设置测试环境 为了能够进行此练习,在测试之前必须准备一个测试环境。在本练习中,我们将Windows操作系统与开源软件一起使用。
API安全的盲点:GraphQL
2023-02-24 14:35:55
GraphQL更灵活、可扩展,更易于开发人员使用,但这同时也给攻击者打开了一扇窗户。
BatchQL是一款功能强大的GraphQL的安全审计工具,可以通过执行Batch GraphQL查询和输入变异数据来了解目标GraphQL应用的安全情况。该工具基于Python开发,其实现代码并不复杂,因此欢迎社区的广大研究人员和开发人员贡献自己的代码。
本文将分享国外一位白帽子对于多重身份验证功能实施渗透测试时的一些经验,希望能对你有所启发。
当收到项目邀请时,白帽小哥注意到该目标在BugCrowd上已经两年多了,到目前为止已经发现了250+个漏洞,并支付了赏金奖励。GraphQL查询中的SQL注入:目标范围很大,但子域不在范围内。目标域类似target.*,因为它涵盖了广泛的 ccTLD。因此,在搜索子域或 ccTLD 域时,应确保使用组织名称进行搜索。的结果,经过过滤后,大约只有 64 个目标。
VSole
网络安全专家