您好,登錄后才能下訂單哦!
針對GraphQL安全測試的Burp擴展InQL是怎樣的,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
InQL Scanner
InQL Scanner是一款安全測試工具,也是一個Burp Suite擴展,在它的幫助下,廣大研究人員可以更好地對GraphQL技術進行安全審計。
InQL可以直接以腳本的方式單獨運行,或者以Burp Suite擴展的方式執(zhí)行任務。
廣大研究人員可以使用下列命令將InQL項目源碼克隆至本地:
git clone https://github.com/doyensec/inql.git
在你的主機環(huán)境中安裝好Python環(huán)境之后,運行inql,腳本將會向目標GraphQL節(jié)點發(fā)送一個自檢查詢請求,并嘗試獲取下列元數(shù)據(jù)信息:
1、Query/Mutation/Subscription;
2、字段和參數(shù);
3、對象和自定義對象類型;
InQL可以檢查自省查詢的結(jié)果,并以不同的數(shù)據(jù)格式生成干凈簡潔的文檔,支持的格式有HTML和JSON等。除此之外,InQL還可以根據(jù)所有已知基礎數(shù)據(jù)類型生成模板(可選占位符)。
最終的結(jié)果HTML文檔頁面中將包含關于全部有效Query/Mutation/Subscription的詳細信息,樣例如下:
在下面給出的樣例圖中,顯示的是模板生成的使用:
如需查看InQL支持的所有選項參數(shù),可以使用help命令查看:
usage: inql [-h] [-t TARGET] [-f SCHEMA_JSON_FILE] [-k KEY] [-p PROXY] [--header HEADERS HEADERS] [-d] [--generate-html] [--generate-schema] [--generate-queries] [--insecure] [-o OUTPUT_DIRECTORY]InQL Scanneroptional arguments: -h, --help show this help message and exit -t TARGET Remote GraphQL Endpoint (https://<Target_IP>/graphql) -f SCHEMA_JSON_FILE Schema file in JSON format -k KEY API Authentication Key -p PROXY IP of web proxy to go through (http://127.0.0.1:8080) --header HEADERS HEADERS -d Replace known GraphQL arguments types with placeholder values (useful for Burp Suite) --generate-html Generate HTML Documentation --generate-schema Generate JSON Schema Documentation --generate-queries Generate Queries --insecure Accept any SSL/TLS certificate -o OUTPUT_DIRECTORY Output Directory
從InQL的v1.0版本開始,InQL就已經(jīng)支持以Burp Suite擴展的方式執(zhí)行了。在這個模式下,該工具不僅擁有獨立腳本的全部功能,而且還可以借助Burp Suite來給廣大研究人員提供更加便捷的用戶接口來執(zhí)行查詢。
InQL的Burp Suite擴展模式有以下幾種功能特性:
1、搜索查詢已知的GraphQL URL路徑,工具降火搜索和匹配已知的值來在目標站點內(nèi)檢測GraphQL節(jié)點;
2、搜索暴露在外的GraphQL開發(fā)控制臺(GraphiQL、GraphQL Playground和其他常見控制臺);
3、使用自定義GraphQL標簽來顯示包含了GraphQL的每一個HTTP請求/響應;
4、通過向Burp的Repeater工具發(fā)送請求來生成模板;
5、通過使用自定義設置標簽來對工具進行配置;
如果你想在Burp Suite中使用InQL,那么你就需要導入Python擴展:1、下載Jython Jar:【點我下載】;
2、開啟Burp Suite;
3、點擊Extender標簽 > 選項 > Python 環(huán)境 >設置Jython獨立Jar包地址;
4、點擊Extender標簽 > 擴展 > 添加 > 擴展類型 > 選擇Python;
5、下載最新版本的inql_burp.py:【點我下載】;
6、點擊擴展文件 > 設置inql_burp.py的地址 > 下一步;
7、如果一切配置妥當,此時的輸出結(jié)果應該為:InQL Scanner Started!;
注意:之后我們會考慮將InQL擴展整合進Burp的BApp Store之中。
InQL Burp擴展的使用非常簡單,我們只需要按照下列步驟操作即可:
1、在頂部的輸入窗口中,加載一個GraphQL節(jié)點,或加載一個JSON文件;
2、點擊“加載”按鈕;
3、等待幾秒鐘之后,左側(cè)的面板將會刷新所選目標節(jié)點的目錄結(jié)構(gòu),該目錄結(jié)構(gòu)的參考樣例如下:
4、選擇Query/Mutation/Subscription中的任意一個,該工具將會在主文本域中顯示對應的模板。
看完上述內(nèi)容,你們掌握針對GraphQL安全測試的Burp擴展InQL是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。