官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
关于REST-Attacker
REST-Attacker是一款针对REST应用安全的研究框架,该框架允许广大研究人员针对遵循REST架构风格的API执行自动化的渗透测试与安全研究。该工具的主要特点是能够通过完全自动化的测试过程(包括测试生成、访问控制处理和报告生成),并以最少的配置工作量来简化我们对通用REST API执行安全研究与分析的人物进程。
除此之外,REST-Attacker也是一个高度灵活可扩展的安全分析框架,并支持大规模测试和细粒度安全分析。
功能介绍
当前版本的REST-Attacker支持下列功能:
1、自动化生成渗透测试用例:使用了一个OpenAPI描述来自动生成并运行测试,整合了基于OWASP和其他安全研究的32种综合性安全测试,内置了安全报告创建功能;
2、简化的API通信:针对REST安全用例实现的自定义请求接口(基于Python3的requests模块实现),支持与任何通用REST API通信;
3、支持访问控制处理:使用API进行后台身份验证/授权,支持当前最流行的访问控制机制:OAuth2、HTTP Basic Auth和API密钥等;
4、易于使用,轻松可扩展:支持以单独的命令行接口工具使用,也支持以独立功能模块使用,使用广泛的配置选项使测试运行适应特定的API,使用工具的接口创建自定义测试用例或访问控制方案;
工具安装
由于本项目基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3(v3.10+)环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/RUB-NDS/REST-Attacker.git
然后使用pip命令和项目提供的requirements.txt文件安装该项目所需的依赖组件:
python3 -m pip install -r requirements.txt
工具使用
接下来,我们将给大家介绍该工具最常用的一些使用方法和执行命令。
获取支持的测试用例列表:
python3 -m rest_attacker --list
基础测试运行(加载过程中生成测试用例):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
完整测试运行(加载过程+运行时测试用例生成):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
仅运行选择的测试用例:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
根据报告重新运行测试:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
许可证协议
本项目的开发与发布遵循LGPL-3.0开源许可证协议。
项目地址
REST-Attacker:【GitHub传送门】
参考资料
https://informatik.rub.de/nds/