freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CATS:一款功能强大的针对OpenAPI的REST API模糊与逆向测试工具
2022-09-28 20:32:56
所属地 广西


关于CATS

CATS是一款功能强大的针对OpenAPI的REST API模糊与逆向测试工具,在不需要复杂配置和代码编写的情况下,CATS能够自动生成和运行测试,并提供测试报告。工具生成的所有测试都是通过一组预定义的93个模糊测试器自动生成和运行的,并涵盖了广泛的边界测试和负面场景。更重要的是,我们可以利用CATS动态生成请求Payload并编写简单的端到端功能测试。

功能介绍

1、覆盖率高:基于大量场景自动生成测试,覆盖每个字段和Header;

2、智能化:根据数据类型和约束生成测试;根据测试场景,每个模糊测试器都有特定的期望值;

3、高度可配置:提供了大量自定义配置,可以过滤特定的模糊测试器、HTTP响应代码、HTTP方法和请求路径,并提供业务上下文等;

4、自我修复:在生成测试时,任何OpenAPI规范更改都会自动拾取;

5、简单易用:学习曲线平坦,配置和语法直观,易于使用;

6、运行速度快:写入、运行和报告测试的自动过程,在几分钟内即可涵盖数千种场景;

工具安装

Homebrew

> brew tap endava/tap

> brew install cats

手动安装

CATS捆绑了一个可执行JAR以及原生代码,原生代码不需要安装Java。访问该项目【Releases页面】并下载了对应操作系统的原生代码之后,我们可以将其添加到PATH中:

sudo cp cats /usr/local/bin/cats

然后下载cats_autocomplete脚本自动完成安装:

source cats_autocomplete

接下来,我们就可以运行下列命令来启动CATS了:

java -jar cats.jar

源码构建

首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Endava/cats.git

接下来,安装并配置好Java 17+和Maven,然后切换到项目目录并运行下列Maven命令来构建该项目:

./mvnw package -Dquarkus.package.type=uber-jar

此时我们将会在target目录中看到cats-runner.jar,然后使用下列命令运行CATS即可:

java -jar cats-runner.jar

工具运行

查看工具帮助信息

> cats -h

黑盒模式

> cats --contract=openapi.yaml --server=http://localhost:8080 --headers=headers.yml --blackbox

上下文模式

> cats --contract=openapi.yaml --server=http://localhost:8080 --headers=headers.yml --refData=referenceData.yml

工具运行截图

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

CATS:【GitHub传送门

参考资料

https://ludovicianul.github.io/2020/10/05/github-api-testing/

https://ludovicianul.github.io/2020/09/09/cats/

# 模糊测试 # rest api # API安全评估核查 # API安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录