6.8 KiB
Web API 渗透测试
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版本的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们的独家NFT收藏品
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @carlospolopm 上关注我们。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
使用 Trickest 可以轻松构建和自动化工作流程,使用世界上最先进的社区工具。
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
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 对路径和参数进行暴力破解。
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
- 类似 automatic-api-attack-tool、Astra 和 restler-fuzzer 这样的附加工具提供了针对 API 安全测试的定制功能,从攻击模拟到模糊测试和漏洞扫描不等。
学习和实践资源
-
OWASP API 安全前 10 名:理解常见 API 漏洞的必读资料 (OWASP Top 10)。
-
API 安全检查清单:用于保护 API 的全面检查清单 (GitHub 链接)。
-
Logger++ 过滤器:用于查找 API 漏洞,Logger++ 提供了有用的过滤器 (GitHub 链接)。
-
API 端点列表:用于测试目的的潜在 API 端点的策划列表 (GitHub gist)。
参考资料
使用 Trickest 可轻松构建和 自动化工作流程,使用全球 最先进 的社区工具。
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
从零开始学习 AWS 黑客技术,成为专家 htARTE (HackTricks AWS Red Team Expert)!
支持 HackTricks 的其他方式:
- 如果您想在 HackTricks 中看到您的 公司广告 或 下载 PDF 版本的 HackTricks,请查看 订阅计划!
- 获取 官方 PEASS & HackTricks 商品
- 探索 PEASS 家族,我们的独家 NFTs
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 上关注我们 🐦 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。