hacktricks/pentesting-web/web-vulnerabilities-methodology/README.md

155 lines
8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Web漏洞方法论
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在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来分享您的黑客技巧。
</details>
在每次Web渗透测试中都存在**一些隐藏和明显的可能存在漏洞的地方**。本文旨在作为一个检查清单,确认您已经在所有可能的地方搜索漏洞。
## 代理
{% hint style="info" %}
如今,**Web应用程序**通常会**使用**某种形式的**中间代理**,这些代理可能会被(滥)用来利用漏洞。这些漏洞需要存在一个有漏洞的代理,但通常还需要后端存在一些额外的漏洞。
{% endhint %}
* [ ] [**滥用逐跳头**](../abusing-hop-by-hop-headers.md)
* [ ] [**缓存投毒/缓存欺骗**](../cache-deception.md)
* [ ] [**HTTP请求走私**](../http-request-smuggling/)
* [ ] [**H2C走私**](../h2c-smuggling.md)
* [ ] [**服务器端包含/边缘端包含**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**揭示Cloudflare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT服务器端注入**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**代理/WAF保护绕过**](../proxy-waf-protections-bypass.md)
## **用户输入**
{% hint style="info" %}
大多数Web应用程序将允许用户输入一些稍后将被处理的数据。\
根据服务器期望的数据结构,某些漏洞可能适用,而另一些可能不适用。
{% endhint %}
### **反射值**
如果输入的数据在响应中以某种方式反映出来,页面可能容易受到多种问题的影响。
* [ ] [**客户端模板注入**](../client-side-template-injection-csti.md)
* [ ] [**命令注入**](../command-injection.md)
* [ ] [**CRLF**](../crlf-0d-0a.md)
* [ ] [**悬空标记**](../dangling-markup-html-scriptless-injection/)
* [ ] [**文件包含/路径遍历**](../file-inclusion/)
* [ ] [**开放重定向**](../open-redirect.md)
* [ ] [**原型污染导致XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**服务器端包含/边缘端包含**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**服务器端请求伪造**](../ssrf-server-side-request-forgery/)
* [ ] [**服务器端模板注入**](../ssti-server-side-template-injection/)
* [ ] [**反向标签劫持**](../reverse-tab-nabbing.md)
* [ ] [**XSLT服务器端注入**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**XSS**](../xss-cross-site-scripting/)
* [ ] [**XSSI**](../xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](../xs-search.md)
其中一些漏洞需要特殊条件,其他只需要数据被反映。您可以在以下链接中找到一些有趣的多语言测试漏洞的示例:
{% content-ref url="../pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](../pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **搜索功能**
如果功能可用于在后端搜索某种数据,也许您可以(滥)用它来搜索任意数据。
* [ ] [**文件包含/路径遍历**](../file-inclusion/)
* [ ] [**NoSQL注入**](../nosql-injection.md)
* [ ] [**LDAP注入**](../ldap-injection.md)
* [ ] [**ReDoS**](../regular-expression-denial-of-service-redos.md)
* [ ] [**SQL注入**](../sql-injection/)
* [ ] [**XPATH注入**](../xpath-injection.md)
### **表单、WebSockets和PostMsgs**
当WebSocket发布消息或表单允许用户执行操作时可能会出现漏洞。
* [ ] [**跨站请求伪造**](../csrf-cross-site-request-forgery.md)
* [ ] [**跨站WebSocket劫持CSWSH**](../websocket-attacks.md)
* [ ] [**PostMessage漏洞**](../postmessage-vulnerabilities/)
### **HTTP头**
根据Web服务器提供的HTTP头可能存在一些漏洞。
* [ ] [**点击劫持**](../clickjacking.md)
* [ ] [**内容安全策略绕过**](../content-security-policy-csp-bypass/)
* [ ] [**Cookie黑客**](../hacking-with-cookies/)
* [ ] [**CORS - 配置错误和绕过**](../cors-bypass.md)
### **绕过**
有一些特定功能,可能需要一些有用的解决方法来绕过它们。
* [ ] [**2FA/OTP绕过**](../2fa-bypass.md)
* [ ] [**绕过支付流程**](../bypass-payment-process.md)
* [ ] [**验证码绕过**](../captcha-bypass.md)
* [ ] [**登录绕过**](../login-bypass/)
* [ ] [**竞争条件**](../race-condition.md)
* [ ] [**速率限制绕过**](../rate-limit-bypass.md)
* [ ] [**重置忘记的密码绕过**](../reset-password.md)
* [ ] [**注册漏洞**](../registration-vulnerabilities.md)
### **结构化对象/特定功能**
某些功能将需要**数据以非常特定的格式结构化**如语言序列化对象或XML。因此更容易确定应用程序是否可能存在漏洞因为它需要处理这种类型的数据。\
如果使用**特定格式的输入**(如电子邮件标题注入),某些**特定功能**也可能存在漏洞。
* [ ] [**反序列化**](../deserialization/)
* [ ] [**电子邮件标题注入**](../email-injections.md)
* [ ] [**JWT漏洞**](../hacking-jwt-json-web-tokens.md)
* [ ] [**XML外部实体**](../xxe-xee-xml-external-entity.md)
### 文件
允许上传文件的功能可能容易受到多种问题的影响。\
生成包含用户输入的文件的功能可能执行意外代码。\
打开由用户上传或包含用户输入的文件可能会导致用户受到威胁。
* [ ] [**文件上传**](../file-upload/)
* [ ] [**公式注入**](../formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF注入**](../xss-cross-site-scripting/pdf-injection.md)
* [ ] [**服务器端XSS**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **外部身份管理**
* [ ] [**OAUTH账号接管**](../oauth-to-account-takeover.md)
* [ ] [**SAML攻击**](../saml-attacks/)
### **其他有用的漏洞**
这些漏洞可能有助于利用其他漏洞。
* [ ] [**域名/子域接管**](../domain-subdomain-takeover.md)
* [ ] [**IDOR**](../idor.md)
* [ ] [**参数污染**](../parameter-pollution.md)
* [ ] [**Unicode规范化漏洞**](../unicode-injection/)
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在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来分享您的黑客技巧。
</details>