Web API Pentesting
使用 Trickest 可以轻松构建和自动化工作流程,使用世界上最先进的社区工具。 立即获取访问权限:
API 渗透测试方法论总结
渗透测试 API 涉及一种结构化方法来发现漏洞。本指南概括了一套全面的方法论,强调实用技术和工具。
理解 API 类型
SOAP/XML Web 服务:使用 WSDL 格式的文档,通常在
?wsdl
路径下找到。像 SOAPUI 和 WSDLer(Burp Suite 扩展)这样的工具对解析和生成请求非常有帮助。示例文档可在 DNE Online 上访问。REST API(JSON):文档通常以 WADL 文件形式提供,但像 Swagger UI 这样的工具提供了一个更用户友好的界面进行交互。Postman 是一个用于创建和管理示例请求的宝贵工具。
GraphQL:一种用于 API 的查询语言,提供了对 API 中数据的完整和可理解的描述。
实践实验室
VAmPI:一个故意设计成易受攻击的 API,用于实践,涵盖 OWASP 十大 API 漏洞。
API 渗透测试的有效技巧
SOAP/XML 漏洞:探索 XXE 漏洞,尽管 DTD 声明通常受限。如果 XML 保持有效,CDATA 标记可能允许插入有效载荷。
权限提升:测试具有不同权限级别的端点,以识别未经授权访问的可能性。
CORS 配置错误:调查 CORS 设置,以便通过已认证会话的 CSRF 攻击进行潜在利用。
端点发现:利用 API 模式发现隐藏的端点。工具如模糊器可以自动化此过程。
参数篡改:尝试在请求中添加或替换参数,以访问未经授权的数据或功能。
HTTP 方法测试:变化请求方法(GET、POST、PUT、DELETE、PATCH),以发现意外行为或信息泄霏。
内容类型操纵:在不同的内容类型之间切换(x-www-form-urlencoded、application/xml、application/json),以测试解析问题或漏洞。
高级参数技术:在 JSON 负载中测试意外数据类型,或者尝试使用 XML 数据进行 XXE 注入。还可以尝试参数污染和通配符字符进行更广泛的测试。
版本测试:旧的 API 版本可能更容易受到攻击。始终检查并针对多个 API 版本进行测试。
API 渗透测试的工具和资源
kiterunner:用于发现 API 端点的绝佳工具。使用它来扫描和针对目标 API 对路径和参数进行暴力破解。
类似 automatic-api-attack-tool、Astra 和 restler-fuzzer 这样的附加工具提供了针对 API 安全测试的定制功能,从攻击模拟到模糊测试和漏洞扫描不等。
Cherrybomb:这是一个 API 安全工具,根据 OAS 文件对您的 API 进行审计(该工具使用 Rust 编写)。
学习和实践资源
OWASP API 安全前 10 名:了解常见 API 漏洞的必读内容(OWASP Top 10)。
API 安全检查清单:用于保护 API 的全面检查清单(GitHub 链接)。
Logger++ 过滤器:对于查找 API 漏洞,Logger++ 提供了有用的过滤器(GitHub 链接)。
API 端点列表:用于测试目的的潜在 API 端点的策划列表(GitHub gist)。
参考资料
使用 Trickest 可以轻松构建和 自动化工作流程,使用全球 最先进 的社区工具。 立即获取访问权限:
最后更新于