Web 漏洞 方法论

Reading time: 7 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

在每次 Web Pentest 中,存在若干隐蔽或明显可能易受攻击的位置。本文旨在作为一份检查表,确认你已在所有可能的地方搜索过漏洞。

代理

tip

现在 web applications 通常使用某种中间****代理,这些可能被(滥)用来利用漏洞。这些漏洞需要存在易受攻击的代理,但通常也需要后端的额外漏洞。

用户输入

tip

大多数 Web 应用会 允许用户输入将在后续被处理的数据。
根据服务器期望的数据结构,某些漏洞可能适用,也可能不适用。

Reflected Values

如果提交的数据以某种方式被反映在响应中,页面可能易受多种问题影响。

上述部分漏洞需要特定条件,另一些仅需内容被反映。你可以在下面找到一些有趣的 polygloths 以快速测试这些漏洞:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

如果该功能可用于在后端搜索某类数据,你可能可以(滥)用它来搜索任意数据。

Forms, WebSockets and PostMsgs

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

HTTP 头部

根据 Web 服务器提供的 HTTP 头部,可能存在某些漏洞。

绕过方法

在若干特定功能中,一些变通方法可能有助于绕过防护。

结构化对象 / 特定功能

有些功能要求数据以非常特定的格式(例如语言序列化对象或 XML)存在。因此,如果应用需要处理此类数据,就更容易判断其是否可能存在漏洞。
某些特定功能在使用特定格式的输入时也可能存在漏洞(例如 Email Header Injections)。

Files

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

External Identity Management

Other Helpful Vulnerabilities

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

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks