hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

107 lines
6.8 KiB
Markdown
Raw Normal View History

# Web API 渗透测试
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
2022-04-28 16:01:33 +00:00
支持 HackTricks 的其他方式:
* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFT**](https://opensea.io/collection/the-peass-family)收藏品
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) 上**关注**我们。
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
使用 [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) 可以轻松构建和**自动化工作流程**,使用世界上**最先进**的社区工具。\
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2021-06-08 18:47:44 +00:00
## API 渗透测试方法论总结
2021-06-08 18:47:44 +00:00
渗透测试 API 涉及一种结构化方法来发现漏洞。本指南概括了一套全面的方法论,强调实用技术和工具。
### **理解 API 类型**
2022-12-21 10:38:32 +00:00
- **SOAP/XML Web 服务**:使用 WSDL 格式的文档,通常在 `?wsdl` 路径下找到。像 **SOAPUI****WSDLer**Burp Suite 扩展)这样的工具对解析和生成请求非常有帮助。示例文档可在 [DNE Online](http://www.dneonline.com/calculator.asmx) 上访问。
2022-12-21 10:38:32 +00:00
- **REST APIJSON**:文档通常以 WADL 文件形式提供,但像 [Swagger UI](https://swagger.io/tools/swagger-ui/) 这样的工具提供了一个更用户友好的界面进行交互。**Postman** 是一个用于创建和管理示例请求的有价值的工具。
- **GraphQL**:一种用于 API 的查询语言,提供了对 API 中数据的完整和可理解的描述。
### **实践实验室**
- [**VAmPI**](https://github.com/erev0s/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 对路径和参数进行暴力破解。
```bash
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](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf))。
- **API 安全检查清单**:用于保护 API 的全面检查清单 ([GitHub 链接](https://github.com/shieldfy/API-Security-Checklist))。
- **Logger++ 过滤器**:用于查找 API 漏洞Logger++ 提供了有用的过滤器 ([GitHub 链接](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters))。
2022-09-30 10:27:15 +00:00
- **API 端点列表**:用于测试目的的潜在 API 端点的策划列表 ([GitHub gist](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d))。
2022-09-27 09:36:19 +00:00
## 参考资料
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
使用 [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 可轻松构建和 **自动化工作流程**,使用全球 **最先进** 的社区工具。\
2023-08-03 19:12:22 +00:00
立即获取访问权限:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
支持 HackTricks 的其他方式:
2022-04-28 16:01:33 +00:00
* 如果您想在 HackTricks 中看到您的 **公司广告****下载 PDF 版本的 HackTricks**,请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 探索 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
</details>