# Web Vulnerabilities Methodology

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks 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 %}

* [ ] [**滥用逐跳头**](/pentesting-web/abusing-hop-by-hop-headers.md)
* [ ] [**缓存投毒/缓存欺骗**](/pentesting-web/cache-deception.md)
* [ ] [**HTTP请求走私**](/pentesting-web/http-request-smuggling.md)
* [ ] [**H2C走私**](/pentesting-web/h2c-smuggling.md)
* [ ] [**服务器端包含/边缘端包含**](/pentesting-web/server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**揭示Cloudflare**](/network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT服务器端注入**](/pentesting-web/xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**代理/WAF绕过保护**](/pentesting-web/proxy-waf-protections-bypass.md)

## **用户输入**

{% hint style="info" %}
大多数Web应用程序将允许用户输入一些稍后将被处理的数据。\
根据服务器期望的数据结构，某些漏洞可能适用，而另一些可能不适用。
{% endhint %}

### **反射值**

如果输入的数据在响应中以某种方式反映出来，页面可能容易受到多种问题的影响。

* [ ] [**客户端模板注入**](/pentesting-web/client-side-template-injection-csti.md)
* [ ] [**命令注入**](/pentesting-web/command-injection.md)
* [ ] [**CRLF**](/pentesting-web/crlf-0d-0a.md)
* [ ] [**悬空标记**](/pentesting-web/dangling-markup-html-scriptless-injection.md)
* [ ] [**文件包含/路径遍历**](/pentesting-web/file-inclusion.md)
* [ ] [**开放重定向**](/pentesting-web/open-redirect.md)
* [ ] [**原型污染到XSS**](/pentesting-web/deserialization/nodejs-proto-prototype-pollution.md#client-side-prototype-pollution-to-xss)
* [ ] [**服务器端包含/边缘端包含**](/pentesting-web/server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**服务器端请求伪造**](/pentesting-web/ssrf-server-side-request-forgery.md)
* [ ] [**服务器端模板注入**](/pentesting-web/ssti-server-side-template-injection.md)
* [ ] [**反向标签窃取**](/pentesting-web/reverse-tab-nabbing.md)
* [ ] [**XSLT服务器端注入**](/pentesting-web/xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**XSS**](/pentesting-web/xss-cross-site-scripting.md)
* [ ] [**XSSI**](/pentesting-web/xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](/pentesting-web/xs-search.md)

其中一些漏洞需要特殊条件，其他只需要内容被反映。您可以在以下链接中找到一些有趣的多语言代码，以快速测试漏洞：

{% content-ref url="/pages/haFAz3ZGJsKg5b3l1Uno" %}
[Reflecting Techniques - PoCs and Polygloths CheatSheet](/pentesting-web/pocs-and-polygloths-cheatsheet.md)
{% endcontent-ref %}

### **搜索功能**

如果功能可用于在后端搜索某种数据，也许您可以（滥）用它来搜索任意数据。

* [ ] [**文件包含/路径遍历**](/pentesting-web/file-inclusion.md)
* [ ] [**NoSQL注入**](/pentesting-web/nosql-injection.md)
* [ ] [**LDAP注入**](/pentesting-web/ldap-injection.md)
* [ ] [**ReDoS**](/pentesting-web/regular-expression-denial-of-service-redos.md)
* [ ] [**SQL注入**](/pentesting-web/sql-injection.md)
* [ ] [**XPATH注入**](/pentesting-web/xpath-injection.md)

### **表单、WebSockets和PostMsgs**

当WebSocket发布消息或表单允许用户执行操作时，可能会出现漏洞。

* [ ] [**跨站请求伪造**](/pentesting-web/csrf-cross-site-request-forgery.md)
* [ ] [**跨站WebSocket劫持（CSWSH）**](/pentesting-web/websocket-attacks.md)
* [ ] [**PostMessage漏洞**](/pentesting-web/postmessage-vulnerabilities.md)

### **HTTP头**

根据Web服务器提供的HTTP头，可能存在一些漏洞。

* [ ] [**点击劫持**](/pentesting-web/clickjacking.md)
* [ ] [**内容安全策略绕过**](/pentesting-web/content-security-policy-csp-bypass.md)
* [ ] [**Cookie黑客**](/pentesting-web/hacking-with-cookies.md)
* [ ] [**CORS - 配置错误和绕过**](/pentesting-web/cors-bypass.md)

### **绕过**

有一些特定功能，可能需要一些变通方法才能绕过它们。

* [ ] [**2FA/OTP绕过**](/pentesting-web/2fa-bypass.md)
* [ ] [**绕过支付流程**](/pentesting-web/bypass-payment-process.md)
* [ ] [**验证码绕过**](/pentesting-web/captcha-bypass.md)
* [ ] [**登录绕过**](/pentesting-web/login-bypass.md)
* [ ] [**竞争条件**](/pentesting-web/race-condition.md)
* [ ] [**速率限制绕过**](/pentesting-web/rate-limit-bypass.md)
* [ ] [**重置忘记密码绕过**](/pentesting-web/reset-password.md)
* [ ] [**注册漏洞**](/pentesting-web/registration-vulnerabilities.md)

### **结构化对象/特定功能**

某些功能将需要**数据以非常特定的格式结构化**（如语言序列化对象或XML）。因此，更容易确定应用程序是否可能存在漏洞，因为它需要处理这种类型的数据。\
如果使用**特定格式的输入**（如电子邮件头注入），某些**特定功能**也可能存在漏洞。

* [ ] [**反序列化**](/pentesting-web/deserialization.md)
* [ ] [**电子邮件头注入**](/pentesting-web/email-injections.md)
* [ ] [**JWT漏洞**](/pentesting-web/hacking-jwt-json-web-tokens.md)
* [ ] [**XML外部实体**](/pentesting-web/xxe-xee-xml-external-entity.md)

### 文件

允许上传文件的功能可能存在多个问题。\
生成包含用户输入的文件的功能可能执行意外代码。\
打开由用户上传或自动生成的包含用户输入的文件的用户可能会受到威胁。

* [ ] [**文件上传**](/pentesting-web/file-upload.md)
* [ ] [**公式注入**](/pentesting-web/formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF注入**](/pentesting-web/xss-cross-site-scripting/pdf-injection.md)
* [ ] [**服务器端XSS**](/pentesting-web/xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)

### **外部身份管理**

* [ ] [**OAUTH接管账户**](/pentesting-web/oauth-to-account-takeover.md)
* [ ] [**SAML攻击**](/pentesting-web/saml-attacks.md)

### **其他有用的漏洞**

这些漏洞可能有助于利用其他漏洞。

* [ ] [**域名/子域接管**](/pentesting-web/domain-subdomain-takeover.md)
* [ ] [**IDOR**](/pentesting-web/idor.md)
* [ ] [**参数污染**](/pentesting-web/parameter-pollution.md)
* [ ] [**Unicode规范化漏洞**](/pentesting-web/unicode-injection.md)

<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的其他方式：

* 如果您想看到您的**公司在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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hacktricks.xsx.tw/pentesting-web/web-vulnerabilities-methodology.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
