REST-Attacker 是一个针对遵循 REST 架构风格的 API 的自动化渗透测试框架。 该工具专注于通过完全自动化测试过程(包括测试生成、访问控制处理和报告生成)来简化通用 REST API 实现的分析,且仅需最少的配置工作。此外,REST-Attacker 设计灵活且可扩展,同时支持大规模测试和细粒度分析。
REST-Attacker 由波鸿鲁尔大学 网络与数据安全教席 维护。
REST-Attacker 目前提供以下特性:
通过下载或克隆仓库获取工具:
git clone https://github.com/RUB-NDS/REST-Attacker.git
运行该工具需要 Python >3.10。
还需要使用 pip 安装以下包:
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
仅运行选定测试用例的测试(仅为 scopes.TestTokenRequestScopeOmit 和 resources.FindSecurityParameters 测试用例生成测试):
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
使用指南和配置格式文档可在文档子文件夹中找到。
关于已知问题的修复/缓解措施,请参阅故障排除文档或问题部分。
欢迎各种形式的贡献!如果您发现错误或有建议或功能请求,请随时在问题跟踪器中创建新的问题。您也可以通过拉取请求提交修复或代码修改。
遗憾的是,我们有时可能非常忙碌,因此回复本仓库中的评论可能需要一些时间。
本项目采用 GNU LGPLv3 或更高版本 (LGPL3+) 许可。完整的许可文本请参见 COPYING,作者列表请参见 CONTRIBUTORS.md。