溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用RESTler對云服務(wù)中的REST API進行模糊測試

發(fā)布時間:2021-12-23 10:17:13 來源:億速云 閱讀:179 作者:柒染 欄目:網(wǎng)絡(luò)管理

如何使用RESTler對云服務(wù)中的REST API進行模糊測試,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

RESTler

RESTler是目前第一款有狀態(tài)的針對REST API的模糊測試工具,該工具可以通過云服務(wù)的REST API來對目標云服務(wù)進行自動化模糊測試,并查找目標服務(wù)中可能存在的安全漏洞以及其他威脅攻擊面。如果目標云服務(wù)帶有OpenAPI/Swagger規(guī)范,那么RESTler則會分析整個服務(wù)規(guī)范,然后通過其REST API來生成并執(zhí)行完整的服務(wù)測試。

RESTler從Swagger規(guī)范智能地推斷請求類型之間的生產(chǎn)者-消費者依賴關(guān)系。在測試期間,它會檢查特定類型的漏洞,并從先前的服務(wù)響應(yīng)中動態(tài)地解析服務(wù)的行為。這種智能化的方式使RESTler能夠探索只有通過特定的請求序列才能達到的更深層次的服務(wù)狀態(tài),并找到更多的安全漏洞。

RESTler由微軟研究團隊負責(zé)研發(fā),當前該項目仍處于活躍開發(fā)狀態(tài)。

如何使用RESTler對云服務(wù)中的REST API進行模糊測試

RESTler配置

RESTler目前僅支持在64位的Windows和Linux操作系統(tǒng)上運行。

構(gòu)建指引

工具要求:安裝Python 3.8.2.NET Core SDK 3.1。

接下來,創(chuàng)建一個用于存放RESTler源代碼的目錄:

mkdir restler_bin

切換到項目根目錄下,然后運行下列Python腳本:

python ./build-restler.py --dest_dir <full path to restler_bin above>

注意:如果你在源碼構(gòu)建過程中收到了Nuget 錯誤 NU1403的話,請嘗試使用下列命令清理緩存:

dotnet nuget locals all --clear

RESTler使用

RESTler能夠以下列四種模式運行:

Compile:從一個Swagger JSON或YAML規(guī)范生成一個RESTler語法。

C:\RESTler\restler\Restler.exe compile --api_spec C:\restler-test\swagger.json

Test:在已編譯的RESTler語法中快速執(zhí)行所有的endpoints+methods以調(diào)試測試設(shè)置,并計算Swagger規(guī)范的哪些部分被涵蓋。這種模式也稱為smoketest。

C:\RESTler\restler\restler.exe test --grammar_file C:\restler-test\Compile\grammar.py --dictionary_file C:\restler-test\Compile\dict.json --settings C:\restler-test\Compile\engine_settings.json --no_ssl

Fuzz-lean:在編譯的RESTler語法中,每個endpoints+methods都執(zhí)行一次,并使用一組默認的checker來查看是否可以快速找到安全漏洞。

C:\RESTler\restler\restler.exe fuzz-lean --grammar_file C:\restler-test\Compile\grammar.py --dictionary_file C:\restler-test\Compile\dict.json --settings C:\restler-test\Compile\engine_settings.json --no_ssl

Fuzz:查找漏洞,利用智能廣度優(yōu)先搜索模式(更深入的搜索模式)的RESTler模糊語法查找更多的安全漏洞。

C:\RESTler\restler\restler.exe fuzz --grammar_file C:\restler-test\Compile\grammar.py --dictionary_file C:\restler-test\Compile\dict.json --settings C:\restler-test\Compile\engine_settings.json --no_ssl --time_budget 1

工具工作流程

如何使用RESTler對云服務(wù)中的REST API進行模糊測試

關(guān)于如何使用RESTler對云服務(wù)中的REST API進行模糊測試問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI