千家信息网

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

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,如何使用RESTler对云服务中的REST API进行模糊测试,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RESTlerRESTl
千家信息网最后更新 2024年10月27日如何使用RESTler对云服务中的REST API进行模糊测试

如何使用RESTler对云服务中的REST API进行模糊测试,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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 ./build-restler.py --dest_dir 

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

dotnet nuget locals all --clear

RESTler使用

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

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进行模糊测试问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

服务 测试 漏洞 安全 安全漏洞 工具 更多 模式 语法 智能 状态 目标 问题 运行 类型 项目 分析 帮助 搜索 生成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 由于没有终端服务器 忘记服务器密码如何重启服务器 怎么保证插入数据库成功 程控软件开发流程 西南科技大学有互联网专业吗 河南移动服务器云服务器 宝马全球服务器在哪里 软件开发c面试题东软 提供软件开发专业服务 在数据库中搜索数据 软件开发定制哪个品牌好 数据库联合主键可以更改吗 黑龙江数据库空投箱推荐厂家 中央网络安全和信息化提供技术 软件开发团队构成包括哪些 网络技术公司职位工作内容 小公司 软件开发 流程 web服务器以什么模式运作 海淀区一站式网络技术好处 2016年4月网络安全主要 饥荒云服务器哪个好用 榆树有名的网络技术质量服务 程序开发包含服务器管理吗 富华互联网科技有限公司 应届生国企软件开发工资 维护网络安全需要学生怎样去做 仁怀网络安全系统排行榜 内容电商需建立的三个数据库 网络安全爆破工程师培训 反恐怖法网络安全法国家情报法
0