6.1 KiB
Web Vulnerabilities Methodology
{{#include ../banners/hacktricks-training.md}}
在每次 Web Pentest 中,有 几个隐藏和明显的地方可能存在漏洞。这篇文章旨在作为一个检查清单,以确认您已在所有可能的地方搜索漏洞。
Proxies
Note
现在的 web 应用程序 通常 使用 某种 中介 代理,这些代理可能被(滥)用来利用漏洞。这些漏洞需要一个脆弱的代理存在,但通常还需要后端的某些额外漏洞。
- Abusing hop-by-hop headers
- Cache Poisoning/Cache Deception
- HTTP Request Smuggling
- H2C Smuggling
- Server Side Inclusion/Edge Side Inclusion
- Uncovering Cloudflare
- XSLT Server Side Injection
- Proxy / WAF Protections Bypass
User input
Note
大多数 web 应用程序将 允许用户输入一些数据以便后续处理。
根据服务器期望的数据结构,某些漏洞可能适用或不适用。
Reflected Values
如果输入的数据可能以某种方式反映在响应中,则页面可能会受到多种问题的影响。
- Client Side Template Injection
- Command Injection
- CRLF
- Dangling Markup
- File Inclusion/Path Traversal
- Open Redirect
- Prototype Pollution to XSS
- Server Side Inclusion/Edge Side Inclusion
- Server Side Request Forgery
- Server Side Template Injection
- Reverse Tab Nabbing
- XSLT Server Side Injection
- XSS
- XSSI
- XS-Search
一些提到的漏洞需要特殊条件,其他的只需要内容被反映。您可以在以下位置找到一些有趣的多语言工具,以快速测试漏洞:
{{#ref}} pocs-and-polygloths-cheatsheet/ {{#endref}}
Search functionalities
如果该功能可用于在后端搜索某种数据,您可能可以(滥)用它来搜索任意数据。
Forms, WebSockets and PostMsgs
当 WebSocket 发布消息或表单允许用户执行操作时,可能会出现漏洞。
HTTP Headers
根据 Web 服务器提供的 HTTP 头,可能存在某些漏洞。
Bypasses
有几个特定功能可能需要一些变通方法来绕过它们。
- 2FA/OTP Bypass
- Bypass Payment Process
- Captcha Bypass
- Login Bypass
- Race Condition
- Rate Limit Bypass
- Reset Forgotten Password Bypass
- Registration Vulnerabilities
Structured objects / Specific functionalities
某些功能将要求 数据以非常特定的格式进行结构化(如语言序列化对象或 XML)。因此,更容易识别应用程序是否可能存在漏洞,因为它需要处理这种类型的数据。
某些 特定功能 也可能存在漏洞,如果使用 特定格式的输入(如电子邮件头注入)。
Files
允许上传文件的功能可能会面临多种问题。
生成包含用户输入的文件的功能可能会执行意外代码。
打开用户上传的文件或自动生成的包含用户输入的文件的用户可能会受到威胁。
External Identity Management
Other Helpful Vulnerabilities
这些漏洞可能有助于利用其他漏洞。
{{#include ../banners/hacktricks-training.md}}