繁体   English   中英

利用 ZAP 进行 RESTAPI 测试

[英]Utilizing ZAP for RESTAPI testing

我很好奇如何在 API 安全性的上下文中使用 ZAP 来测试 RESTAPI。 它只是可以使用的 OpenAPI 插件还是有其他(更有效的)方法?

有一个 ZAP 常见问题解答:) https://www.zaproxy.org/faq/how-can-you-use-zap-to-scan-apis/

ZAP 理解 API 格式,如 JSON 和 XML 等可用于扫描 API。

问题通常是如何有效地探索 API。

有多种选择:

  • 如果您的 API 具有 OpenAPI/Swagger 定义,那么您可以使用OpenAPI 插件将其导入。
  • 如果您有端点 URL 列表,则可以使用包含 URL 的导入文件插件导入这些 URL。
  • 如果您有回归测试 API 那么您可以通过 ZAP 代理这些

附加组件可从 ZAP Marketplace 获得。

一旦 ZAP 知道 URL 端点,它就可以像扫描基于 HTML 的 web 站点一样扫描它们。

如果您没有任何这些东西,请发布到ZAP 用户组,说明您正在尝试做什么以及遇到的问题。

有关更多详细信息,请参阅博客文章使用 ZAP 扫描 API

另外一个好主意是使用来自 OwaspZap 的 Fuzzer。

模糊测试允许您通过提交格式错误的请求、格式错误的参数和猜测未发布的 API 方法来触发 API 服务器的意外行为。

你可以在这里阅读什么是模糊测试: https://owasp.org/www-community/Fuzzing

它将允许您对 URL 字符串或单个参数进行模糊测试。

要启动模糊器,您需要:

  1. 右键单击请求 -> 攻击 -> Fuzz..
  2. 突出显示您要使用的参数,然后单击“添加”按钮
  3. 在新的有效负载 window 中单击添加,选择适当的选项并单击添加有效负载。

我建议在第 3 步选择“文件模糊器”选项并选择一个预定义的词表,或导出您自己的词表。 你可以使用 Seclists 来查找一堆 fuzzing wordlists。 这是为 API fuzzing https 设计的词汇表集://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content/api

此外,如果您知道方法,OwaspZap 允许您执行手动 API 测试。 在这里您可以找到一些与 REST 安全相关的链接:

https://cheatsheetseries.owasp.org/cheatsheets/REST_Security_Cheat_Sheet.html https://cheatsheetseries.owasp.org/cheatsheets/REST_Assessment_Cheat_Sheet.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM