尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

3分钟快速上手OWASP OFFAT:从OpenAPI规范到自动化漏洞扫描

3分钟快速上手OWASP OFFAT:从OpenAPI规范到自动化漏洞扫描 3分钟快速上手OWASP OFFAT从OpenAPI规范到自动化漏洞扫描【免费下载链接】OFFATThe OWASP OFFAT tool autonomously assesses your API for prevalent vulnerabilities, though full compatibility with OAS v3 is pending. The project remains a work in progress, continuously evolving towards completion.项目地址: https://gitcode.com/gh_mirrors/of/OFFATOWASP OFFATOFFensive Api Tester是一款由 OWASP 社区维护的开源API 自动化漏洞扫描工具你只需要提供一份 OpenAPI/Swagger 规范文件它就能自动生成测试用例对接口执行 SQL 注入、越权访问BOLA、数据泄露等常见漏洞的自动化安全测试。本文将带你 3 分钟完成 OWASP OFFAT 的安装、扫描与结果解读让这个 API 安全测试工具成为你上线前的一道保险。什么是OWASP OFFAT一款开源的API自动化漏洞扫描工具OWASP OFFAT 的核心思路很简单从 OpenAPI 规范文件出发自动生成并执行安全测试。你不需要手工编写一条条攻击请求工具会解析规范中的端点、参数和请求体自动构造模糊测试Fuzz数据并发送请求最后汇总成一份扫描结果。它面向的正是三类人后端开发者提交代码前快速自查接口是否安全测试工程师在功能测试之外补充自动化安全测试安全工程师作为基线扫描工具快速定位高风险端点。项目采用 MIT 开源协议完全免费目前处于 Beta 阶段。工具的整体流程在 src/offat/tester/handler.py 中定义测试用例的生成逻辑则位于 src/offat/tester/generator.py感兴趣的读者可以从这两个文件入手阅读源码。OWASP OFFAT能检测哪些API漏洞OFFAT 覆盖了 OWASP API Top 10 中的多项常见风险具体检测清单如下检测项检测内容Restricted HTTP Methods发现文档中未声明的 HTTP 方法SQLi参数与路径中的 SQL 注入漏洞BOLA对象级越权访问水平越权Data Exposure响应中的数据泄露检测BOPLA / Mass Assignment批量赋值 / 对象属性覆盖Broken Access Control越权访问控制问题Command Injection基础命令注入测试XSS / HTML Injection基础 XSS 与 HTML 注入测试SSTI基础模板注入测试扫描过程中还会结合模糊测试器自动填充参数值相关随机数据生成逻辑位于 src/offat/tester/fuzzer.py。3分钟快速上手OWASP OFFAT安装与扫描实战下面按一分钟一步的方式带你完成第一次完整扫描。第1分钟安装OWASP OFFAT推荐使用 pip 一键安装这是最快、最省事的 OWASP OFFAT 安装方法python -m pip install offat安装完成后在终端输入offat -h即可查看所有可用命令参数。如果希望从源码安装也可以克隆仓库后使用 Poetry 安装git clone https://gitcode.com/gh_mirrors/of/OFFAT cd OFFAT poetry install第2分钟运行第一条扫描命令准备一份 OpenAPI/Swagger 规范文件JSON 或 YAML 均可也支持直接传 URL然后运行offat -f swagger.json工具会自动识别规范文件的版本Swagger 2.0 或 OpenAPI v3解析所有端点并开始漏洞测试。日志会实时打印每个检测模块的进度类似下图第3分钟读懂扫描结果扫描完成后终端会以表格形式输出每个端点的检测结果主要关注三列result该测试项是否通过× 表示存在风险data_leak是否存在数据泄露result details具体的风险描述例如Endpoint performs HTTP method not documented表示端点存在未声明的 HTTP 方法。在官方测试Petstore 示例中OFFAT 能快速发现/pet/findByStatus等端点存在未声明的 POST 方法也能检测出/user/login等接口的 SQL 注入风险效率相当可观。提升扫描效率的5个OWASP OFFAT实用技巧掌握下面几个常用参数扫描会更精准、更可控保存报告offat -f swagger.json -o report.html -of html支持 json、yaml、html、table 四种格式控制请求频率offat -f swagger.json -rl 100按每秒请求数限速避免压垮被测服务只测指定路径offat -f swagger.json -pr /user用正则只扫描关心的端点附加请求头offat -f swagger.json -H Authorization: Bearer token用于需要鉴权的接口代理转发offat -f swagger.json -p http://localhost:8080可配合 Burp Suite 等工具抓包观察。如需为不同用户角色提供测试数据例如模拟两个不同权限的账号还可以通过-tdc test_data_config.yaml指定 YAML 配置文件配置模板可参考 src/offat/config_data_handler.py 中的校验逻辑。如何把OFFAT集成到CI/CD流水线除了命令行OFFAT 还提供 Docker、API 和 GitHub Action 三种集成方式适合把漏洞扫描固化到发布流程中。Docker 方式执行docker compose up -d启动 API 服务将 OpenAPI 文档 POST 到/api/v1/scan/接口即可异步获得扫描任务 ID 与结果API 方式直接运行python -m offat.api启动 REST 服务接口定义见 src/offat/api/app.py配套的 FastAPI 交互文档位于http://localhost:8000/docsGitHub Action 方式在仓库的 workflow 中引用OWASP/OFFATaction传入规范文件地址即可扫描结果会自动上传为构建产物。OWASP OFFAT使用注意事项最后提醒三点工具目前仍处于 Beta 阶段运行中偶尔可能出现异常请以多次扫描的结果为准务必只在你有权测试的系统上使用任何未经授权的扫描行为都可能触犯法律报告中data_leak与result是相互独立的维度即使结果标记为通过也可能存在数据泄露解读时需综合判断。总结从一份 OpenAPI 规范文件到一份漏洞扫描报告OWASP OFFAT 把原本繁琐的 API 安全测试压缩到了几分钟之内。无论你是想在开发阶段快速自查还是想把安全测试接入 CI/CD 流水线它都是一款值得一试的开源自动化漏洞扫描工具。现在就安装一个跑一遍你的接口吧【免费下载链接】OFFATThe OWASP OFFAT tool autonomously assesses your API for prevalent vulnerabilities, though full compatibility with OAS v3 is pending. The project remains a work in progress, continuously evolving towards completion.项目地址: https://gitcode.com/gh_mirrors/of/OFFAT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表