使用ZAP进行RESTAPI测试

时间:2020-06-17 04:52:21

标签: api rest zap penetration-testing penetration-tools

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

2 个答案:

答案 0 :(得分:3)

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

ZAP可以理解JSON和XML之类的API格式,因此可用于扫描API。

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

有多种选择:

  • 如果您的API具有OpenAPI / Swagger定义,则可以使用OpenAPI add-on导入它。
  • 如果您具有端点URL列表,则可以使用Import files containing URLs插件导入这些URL。
  • 如果您有针对API的回归测试,则可以通过ZAP代理这些

可从ZAP Marketplace获得这些加载项。

一旦ZAP知道了URL端点,便可以用与扫描基于HTML的网站相同的方式对其进行扫描。

如果您没有任何这些东西,请张贴到ZAP User Group上,以说明您要尝试做的事情和遇到的问题。

有关更多详细信息,请参见博客文章Scanning APIs with ZAP

答案 1 :(得分:0)

好主意是使用OwaspZap中的Fuzzer。

通过模糊处理,您可以通过提交格式错误的请求,格式错误的参数以及猜测未发布的API方法来触发API服务器的意外行为。

您可以在此处阅读模糊的内容:https://owasp.org/www-community/Fuzzing

它将允许您模糊URL字符串或单个参数。

要启动模糊器,您需要:

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

我建议在第3步中选择“文件模糊器”选项,然后选择一个预定义的单词列表,或者导出自己的单词列表。您可以使用Seclists查找一堆模糊的单词表。这是为API模糊测试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

相关问题