您好,登錄后才能下訂單哦!
如何使用RESTler對云服務中的REST API進行模糊測試,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
RESTler是目前第一款有狀態的針對REST API的模糊測試工具,該工具可以通過云服務的REST API來對目標云服務進行自動化模糊測試,并查找目標服務中可能存在的安全漏洞以及其他威脅攻擊面。如果目標云服務帶有OpenAPI/Swagger規范,那么RESTler則會分析整個服務規范,然后通過其REST API來生成并執行完整的服務測試。
RESTler從Swagger規范智能地推斷請求類型之間的生產者-消費者依賴關系。在測試期間,它會檢查特定類型的漏洞,并從先前的服務響應中動態地解析服務的行為。這種智能化的方式使RESTler能夠探索只有通過特定的請求序列才能達到的更深層次的服務狀態,并找到更多的安全漏洞。
RESTler由微軟研究團隊負責研發,當前該項目仍處于活躍開發狀態。
RESTler目前僅支持在64位的Windows和Linux操作系統上運行。
工具要求:安裝Python 3.8.2和.NET Core SDK 3.1。
接下來,創建一個用于存放RESTler源代碼的目錄:
mkdir restler_bin
切換到項目根目錄下,然后運行下列Python腳本:
python ./build-restler.py --dest_dir <full path to restler_bin above>
注意:如果你在源碼構建過程中收到了Nuget 錯誤 NU1403的話,請嘗試使用下列命令清理緩存:
dotnet nuget locals all --clear
Compile:從一個Swagger JSON或YAML規范生成一個RESTler語法。
C:\RESTler\restler\Restler.exe compile --api_spec C:\restler-test\swagger.json
Test:在已編譯的RESTler語法中快速執行所有的endpoints+methods以調試測試設置,并計算Swagger規范的哪些部分被涵蓋。這種模式也稱為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都執行一次,并使用一組默認的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:查找漏洞,利用智能廣度優先搜索模式(更深入的搜索模式)的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對云服務中的REST API進行模糊測試問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。