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

访客4年前黑客文章592

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?

相关文章

《人潮汹涌》喜剧版预告欢笑来袭刘德华肖央玩

娱乐中国讯2月5日,由刘德华监制,饶晓志导演,刘德华、肖央、万茜领衔主演的荒诞喜剧电影《人潮汹涌》将于大年初一(2月12日)全国上映,目前距离全国上映仅剩一周时间。今日曝光的喜剧版预告更是高能不断,笑...

无线网卡怎么用?台式机无线网卡连接上网如何使用?

无线网卡怎么用?台式机无线网卡连接上网如何使用?

现在网络越来越普及,人们也开始追求便利舒适的上网方式,例如无线上网,没有了 网线 的束缚,上网变得更加自由和方便。一般情况下,我们都是用手机,iPad或 笔记本电脑 来进行无线上网,那么台式机是不是也...

零购官网:免费领取2张5元无门槛优惠券!

零购官网是苏州市那美网络科技有限公司旗下的电商平台,当前注册为会员可免费领取2张5米无门槛优惠券,其中一张在微信端可用,另一张在APP端可用,不少生活用品券后几毛钱包邮! 零购官网二维码: 1...

打工人的梗-打工人打工魂打工都是上上人-打工人

前不久在互联网上有一个词句尤其的受欢迎,称为打职工,在之前大伙儿会认为这个词是描述农民工和打工族的,可是前不久这一打职工的梗就是的如今的工薪族们,那麼打职工代表什么意思,为何年青人会觉得自身是打职工呢...

匠骨头快餐加盟品牌好不好?尽享美味获得财富

匠骨头快餐加盟品牌好不好?尽享美味获得财富

跟着经济程度的不绝的成长,虽然各行各业也在飞速的成长历程傍边。虽然此刻的糊口节拍变得越来越快了。各人纷纷想要通过寻求更多的方法要领得到更多的经济好处。那么面前很是高潮的就是创业做加盟。可是和各行各业的...

网上查微信记录可靠吗,wangle输钱后找黑客有用吗,鲤鱼玩的黑客网站

bull; 加密挖矿进犯的比率mdash;mdash;指未经许可操控用户核算机并使用其资源挖矿的进犯接下来是UNIQUE_ID_DO_NOT_REMOVE文件的生成。其榜首部分是用256位的AES密钥...