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
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
在每次 Web Pentest 中,存在 几个可能存在漏洞的隐藏和显著位置。本文旨在作为一个检查清单,确认你已经在所有可能的位置搜索过漏洞。
代理
Tip
现在很多 web applications 通常使用某种中介代理,这些代理可能被(滥)用来利用漏洞。这些漏洞需要一个易受攻击的代理存在,但通常也需要后端存在额外的漏洞。
- Abusing hop-by-hop headers
- Cache Poisoning/Cache Deception
- HTTP Connection Contamination
- HTTP Connection Request Smuggling
- HTTP Request Smuggling
- HTTP Response Smuggling / Desync
- H2C Smuggling
- Server Side Inclusion/Edge Side Inclusion
- Uncovering Cloudflare
- XSLT Server Side Injection
- Proxy / WAF Protections Bypass
用户输入
Tip
大多数 web 应用会允许用户输入将在稍后被处理的数据。
根据服务器预期的数据结构,某些漏洞可能适用,也可能不适用。
反射值
如果提交的数据以某种方式出现在响应中,该页面可能存在多种漏洞。
- Client Side Path Traversal
- 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
上述某些漏洞需要特殊条件,其他只是要求内容被反映。你可以在下面找到一些有趣的 polygloths 来快速测试这些漏洞:
Reflecting Techniques - PoCs and Polygloths CheatSheet
搜索功能
如果该功能用于在后端搜索某类数据,你可能可以(滥)用它来搜索任意数据。
- File Inclusion/Path Traversal
- NoSQL Injection
- LDAP Injection
- ReDoS
- SQL Injection
- ORM Injection
- RSQL Injection
- XPATH Injection
表单、WebSockets 和 PostMsgs
当 websocket 发送消息或表单允许用户执行操作时,可能会产生漏洞。
- Cross Site Request Forgery
- Cross-site WebSocket hijacking (CSWSH)
- Phone Number Injections
- PostMessage Vulnerabilities
HTTP 头
根据 web 服务器返回的 HTTP 头,可能存在一些漏洞。
- Clickjacking
- Iframe Traps / Click Isolation
- Content Security Policy bypass
- Cookies Hacking
- CORS - Misconfigurations & Bypass
绕过
在一些特定功能中,某些变通方法可能有助于绕过它们
- 2FA/OTP Bypass
- Bypass Payment Process
- Captcha Bypass
- Account Takeover Playbooks
- Login Bypass
- Race Condition
- Rate Limit Bypass
- Reset Forgotten Password Bypass
- Registration Vulnerabilities
结构化对象 / 特定功能
有些功能要求数据以非常特定的格式(例如某种语言序列化对象或 XML)。因此更容易判断应用是否可能存在漏洞,因为它必须处理那种类型的数据。
如果输入使用特定格式(例如 Email Header Injections),一些特定功能也可能存在漏洞。
- Deserialization
- Email Header Injection
- JWT Vulnerabilities
- JSON / XML / YAML Hacking
- XML External Entity
- GraphQL Attacks
- gRPC-Web Attacks
文件
允许上传文件的功能可能存在多种问题。
生成包含用户输入的文件的功能可能会执行意外代码。
打开用户上传的文件或自动生成且包含用户输入的文件的用户可能会受到危害。
外部身份管理
其他有帮助的漏洞
这些漏洞可能有助于利用其他漏洞。
- Domain/Subdomain takeover
- IDOR
- Mass Assignment (CWE-915)
- Parameter Pollution
- Unicode Normalization vulnerability
Web 服务器与中间件
边缘堆栈的错误配置常常会在应用层解锁更严重的漏洞。
- Apache
- Nginx
- IIS
- Tomcat
- Spring Actuators
- PUT Method / WebDAV
- Special HTTP Headers
- WSGI Deployment
- Werkzeug Debug Exposure
应用框架与技术栈
框架特有的原语常常暴露 gadgets、危险的默认设置或框架自带的端点。
CMS、SaaS 与托管平台
表面攻击面大的产品通常附带已知漏洞、弱插件或有特权的管理端点。
- WordPress
- Joomla
- Drupal
- Moodle
- Prestashop
- Atlassian Jira
- Grafana
- Rocket.Chat
- Zabbix
- Microsoft SharePoint
- Sitecore
API、存储桶与集成
服务端助手和第三方集成可能会暴露文件解析或存储层弱点。
- Web API Pentesting
- Storage Buckets & Firebase
- Imagemagick Security
- Artifactory & Package Registries
- Code Review Tooling
供应链与标识符滥用
针对构建流水线或可预测标识符的攻击可在利用传统漏洞前成为初始立足点。
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
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
HackTricks

