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 中,存在 几个可能存在漏洞的隐藏和显著位置。本文旨在作为一个检查清单,确认你已经在所有可能的位置搜索过漏洞。

代理

Tip

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

用户输入

Tip

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

反射值

如果提交的数据以某种方式出现在响应中,该页面可能存在多种漏洞。

上述某些漏洞需要特殊条件,其他只是要求内容被反映。你可以在下面找到一些有趣的 polygloths 来快速测试这些漏洞:

Reflecting Techniques - PoCs and Polygloths CheatSheet

搜索功能

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

表单、WebSockets 和 PostMsgs

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

HTTP 头

根据 web 服务器返回的 HTTP 头,可能存在一些漏洞。

绕过

在一些特定功能中,某些变通方法可能有助于绕过它们

结构化对象 / 特定功能

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

文件

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

外部身份管理

其他有帮助的漏洞

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

Web 服务器与中间件

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

应用框架与技术栈

框架特有的原语常常暴露 gadgets、危险的默认设置或框架自带的端点。

CMS、SaaS 与托管平台

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

API、存储桶与集成

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

供应链与标识符滥用

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

Web3、扩展与工具

现代应用扩展到浏览器、钱包和自动化流水线——将这些攻击面纳入范围。

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