如何使用RESTler对云服务中的REST API进行模糊测试

访客4年前黑客文章599

RESTler

RESTler是目前之一款有状态的针对REST API的模糊测试工具,该工具可以通过云服务的REST API来对目标云服务进行自动化模糊测试,并查找目标服务中可能存在的安全漏洞以及其他威胁攻击面。如果目标云服务带有OpenAPI/Swagger规范,那么RESTler则会分析整个服务规范,然后通过其REST API来生成并执行完整的服务测试。

RESTler从Swagger规范智能地推断请求类型之间的生产者-消费者依赖关系。在测试期间,它会检查特定类型的漏洞,并从先前的服务响应中动态地解析服务的行为。这种智能化的方式使RESTler能够探索只有通过特定的请求序列才能达到的更深层次的服务状态,并找到更多的安全漏洞。

RESTler由微软研究团队负责研发,当前该项目仍处于活跃开发状态。

RESTler配置

RESTler目前仅支持在64位的Windows和Linux操作系统上运行。

构建指引

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

接下来,创建一个用于存放RESTler源代码的目录:

mkdir restler_bin

切换到项目根目录下,然后运行下列Python脚本:

python https://www.freebuf.com/articles/web/build-restler.py --dest_dir <full path to restler_bin above>

注意:如果你在源码构建过程中收到了Nuget 错误 NU1403的话,请尝试使用下列命令清理缓存:

dotnet nuget locals all --clear

RESTler使用

RESTler能够以下列四种模式运行:

Compile:从一个Swagger *** ON或YAML规范生成一个RESTler语法。

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

Test:在已编译的RESTler语法中快速执行所有的endpoints+methods以调试测试设置,并计算Swagger规范的哪些部分被涵盖。这种模式也称为 *** oketest。

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:【GitHub传送门

参考资料

https://patricegodefroid.github.io/public_psfiles/icse2019.pdf

https://patricegodefroid.github.io/public_psfiles/icst2020.pdf

https://patricegodefroid.github.io/public_psfiles/issta2020.pdf

https://patricegodefroid.github.io/public_psfiles/fse2020.pdf

https://github.com/microsoft/restler-fuzzer/blob/main/docs/user-guide/TutorialDemoServer.md

https://github.com/microsoft/restler-fuzzer/blob/main/docs/user-guide/QuickStart.md?

相关文章

跑步的好处有哪些(坚持跑步的十一个好处)

  健身运动实际上便是分许多种类,例如慢跑运动健身,这些很多种多样方式 ,健身运动是身心健康 的一种挑选,健身运动,能够维持极致的身型,能够修复人体的功能,协助人体增强免疫力,此外,健身的好处取决于缓...

找黑客盗4399号-装黑客软件(手机怎么装黑客软件)

找黑客盗4399号-装黑客软件(手机怎么装黑客软件)

找黑客盗4399号相关问题 适合黑客个性签名相关问题 黑客是怎么破解电脑密码的 如何侵入别人手机摄像头(启动别人手机摄像头)...

淘宝被黑客攻击事件

淘宝网店是不会被黑客攻击的只要你的电脑上没感染木马就不会出现任何问题!主要是注意自己的淘宝账号不被盗取就OK了。你不登陆不就不被攻击了。 好像是被黑了,建议立即通知该网站的管理员做好网站防黑措施。网站...

酒店营销方案模板(手把手教你写酒店营销方案)

一、免费的价值 现在很多行业都在做免费体验,免费退换等服务,大概只有餐饮行业还一直在奉行着“天下没有免费的午餐”的古老理念。很多准备开店的老板对自己的产品信心满满,却发愁怎么找...

能找黑客监控女友手机么-黑客军团提利尔和他老婆(黑客军团提利尔的老婆)

能找黑客监控女友手机么-黑客军团提利尔和他老婆(黑客军团提利尔的老婆)

能找黑客监控女友手机么相关问题 黑客军团未删减网盘相关问题 黑客是怎么盗别人QQ密码 破解别人的qq密保(qq密保破解器免费版)...

黑客工具全攻略cd(顶级黑客工具)

黑客工具全攻略cd(顶级黑客工具)

本文目录一览: 1、黑客必备的基础命令(DOS UNIX/LINUX WINDOWS) 2、“黑客精英”攻略? 3、黑客链接全攻略 4、黑客网络新手指南翻译大全 黑客网络Hacknet新手...