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
VSole
網絡安全專家