Web 漏洞方法论

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 中,都存在一些隐藏或明显的可能易受攻击的点。本文旨在作为一份检查清单,确认你已经在所有可能的位置搜索过漏洞。

Proxies

Tip

现在 web applications 通常 uses 某种 intermediary proxies,这些可能被(ab)used 来利用漏洞。此类漏洞需要一个易受攻击的 proxy 存在,但通常也需要后端存在额外漏洞。

用户输入

Tip

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

Reflected Values

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

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

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

如果该功能可用于在后端搜索某种数据,或许你可以将其(ab)use 来搜索任意数据。

Forms, WebSockets and PostMsgs

当 websocket 发布消息或表单允许用户执行操作时,可能会产生漏洞。

Cross-site WebSocket hijacking & localhost abuse

WebSocket 升级会自动转发 cookies 并且不会阻止 ws://127.0.0.1,所以 any web origin can drive desktop IPC endpoints,这些端点会跳过 Origin 验证。当你发现一个通过本地代理暴露类 JSON-RPC API 的 launcher 时:

  • 观察发出的帧以克隆每个方法所需的 type/name/args 元组。
  • 直接从浏览器对监听端口进行暴力枚举(Chromium 在 ~16k 个失败的升级下仍能处理),直到 loopback socket 回应协议横幅 — 在相同负载下 Firefox 往往很快崩溃。
  • 链接一个 create → 特权操作 的配对:例如,调用返回 GUID 的 create* 方法,然后立即用可控载荷调用对应的 *Launch* 方法。

如果你可以传入任意 JVM flags(例如 AdditionalJavaArguments),则可以用 -XX:MaxMetaspaceSize=<tiny> 强制引发错误,并附加 -XX:OnOutOfMemoryError="<cmd>" 来在不接触应用逻辑的情况下运行操作系统命令。有关操作步骤,请参见 WebSocket attacks

HTTP Headers

取决于 web 服务器返回的 HTTP 头,可能存在一些漏洞。

Bypasses

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

Structured objects / Specific functionalities

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

Files

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

External Identity Management

Other Helpful Vulnerabilities

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

Web Servers & Middleware

边缘栈中的错误配置通常会在应用层解锁更严重的漏洞。

Application Frameworks & Stacks

特定框架的原语经常暴露 gadgets、不安全的默认配置或框架自有的端点。

CMS, SaaS & Managed Platforms

高面攻击面产品通常附带已知漏洞、弱插件或具有特权的管理端点。

APIs, Buckets & Integrations

服务器端辅助工具和第三方集成可能暴露文件解析或存储层弱点。

Supply Chain & Identifier Abuse

针对构建管道或可预测标识符的攻击,可能成为在利用传统漏洞前的初始立足点。

Web3, Extensions & Tooling

现代应用扩展到浏览器、钱包和自动化管道——将这些向量纳入范围。

参考资料

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