您好,登錄后才能下訂單哦!
如何使用RESTler對云服務(wù)中的REST API進行模糊測試,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
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目前僅支持在64位的Windows和Linux操作系統(tǒng)上運行。
工具要求:安裝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
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
關(guān)于如何使用RESTler對云服務(wù)中的REST API進行模糊測試問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(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)容。