Методологія вразливостей Web
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
У кожному Web Pentest існує кілька прихованих та очевидних місць, які можуть бути вразливими. Ця сторінка призначена як чекліст, щоб переконатися, що ви перевірили на наявність уразливостей усі можливі місця.
Проксі
Tip
Наразі web applications зазвичай використовують певні проміжні proxies, які можуть бути (з)ловживані для експлуатації уразливостей. Ці вразливості вимагають наявності вразливого проксі, але зазвичай також потребують додаткової уразливості в бекенді.
- 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
User input
Tip
Більшість web applications дозволяють користувачам вводити деякі дані, які будуть оброблені пізніше.
Залежно від структури даних, яку очікує сервер, деякі вразливості можуть застосовуватися, а деякі — ні.
Reflected Values
Якщо введені дані якимось чином можуть бути відображені в відповіді, сторінка може бути вразливою до кількох проблем.
- 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
Search functionalities
Якщо функціонал може використовуватися для пошуку якихось даних в бекенді, можливо, його можна (з)ловживати для пошуку довільних даних.
- File Inclusion/Path Traversal
- NoSQL Injection
- LDAP Injection
- ReDoS
- SQL Injection
- ORM Injection
- RSQL Injection
- XPATH Injection
Forms, WebSockets and PostMsgs
Коли websocket надсилає повідомлення або форма дозволяє користувачам виконувати дії, можуть виникнути вразливості.
- Cross Site Request Forgery
- Cross-site WebSocket hijacking (CSWSH)
- Phone Number Injections
- PostMessage Vulnerabilities
Cross-site WebSocket hijacking & localhost abuse
WebSocket upgrade автоматично пересилає cookies і не блокує ws://127.0.0.1, тому будь-який web origin може керувати десктопними IPC endpoint’ами, які пропускають перевірку Origin. Коли ви помічаєте launcher, що експонує API типу JSON-RPC через локального агента:
- Спостерігайте за emitted frames, щоб клонувати кортежі
type/name/args, необхідні для кожного методу. - Bruteforce порт прослуховування безпосередньо з браузера (Chromium витримає ~16k невдалих upgrade’ів), поки loopback socket не відповість banner’ом протоколу — Firefox під тією ж навантаженням зазвичай швидко падає.
- Зв’яжіть пару create → privileged action: напр., викличте метод
create*, який повертає GUID, і відразу викличте відповідний метод*Launch*з payload’ом, який контролює атакуючий.
Якщо ви можете передати довільні JVM flags (наприклад AdditionalJavaArguments), примусьте помилку з -XX:MaxMetaspaceSize=<tiny> і додайте -XX:OnOutOfMemoryError="<cmd>", щоб виконати OS-команди без зміни логіки застосунку. Див. WebSocket attacks для покрокового опису.
HTTP Headers
Залежно від HTTP заголовків, які повертає вебсервер, можуть бути присутні певні вразливості.
- Clickjacking
- Iframe Traps / Click Isolation
- Content Security Policy bypass
- Cookies Hacking
- CORS - Misconfigurations & Bypass
Bypasses
Є кілька специфічних функціональностей, де деякі обхідні шляхи можуть бути корисними для їх подолання
- 2FA/OTP Bypass
- Bypass Payment Process
- Captcha Bypass
- Account Takeover Playbooks
- Login Bypass
- Race Condition
- Rate Limit Bypass
- Reset Forgotten Password Bypass
- Registration Vulnerabilities
Structured objects / Specific functionalities
Деякі функціональності вимагатимуть, щоб дані мали дуже специфічний формат (наприклад, об’єкт у конкретній мові чи XML). Тому легше визначити, чи може застосунок бути вразливим, оскільки він має обробляти такі дані.
Деякі специфічні функціональності також можуть бути вразливими, якщо використати конкретний формат вводу (наприклад, Email Header Injections).
- Deserialization
- Email Header Injection
- JWT Vulnerabilities
- JSON / XML / YAML Hacking
- XML External Entity
- GraphQL Attacks
- gRPC-Web Attacks
- SOAP/JAX-WS ThreadLocal Auth Bypass
Files
Функціонали, що дозволяють завантажувати файли, можуть бути вразливими до кількох проблем.
Функціонали, що генерують файли, включаючи введені користувачами дані, можуть виконувати непередбачений код.
Користувачі, які відкривають файли, завантажені іншими користувачами або автоматично згенеровані з введенням користувача, можуть бути скомпрометовані.
External Identity Management
Other Helpful Vulnerabilities
Ці вразливості можуть допомогти експлуатувати інші уразливості.
- Domain/Subdomain takeover
- IDOR
- Mass Assignment (CWE-915)
- Parameter Pollution
- Unicode Normalization vulnerability
Web Servers & Middleware
Неправильні налаштування в edge stack часто відкривають більш серйозні баги на рівні застосунку.
- Apache
- Nginx
- IIS
- Tomcat
- Spring Actuators
- PUT Method / WebDAV
- Special HTTP Headers
- WSGI Deployment
- Werkzeug Debug Exposure
Application Frameworks & Stacks
Примітиви, специфічні для фреймворків, часто відкривають гаджети, небезпечні установки за замовчуванням або ендпоїнти, якими володіє фреймворк.
CMS, SaaS & Managed Platforms
Продукти з великою поверхнею атаки часто постачаються з відомими експлоїтами, слабкими плагінами або привілейованими адміністративними ендпоїнтами.
- WordPress
- Joomla
- Drupal
- Moodle
- Prestashop
- Atlassian Jira
- Grafana
- Rocket.Chat
- Zabbix
- Microsoft SharePoint
- Sitecore
APIs, Buckets & Integrations
Server-side helpers та сторонні інтеграції можуть відкривати слабкості при парсингу файлів або в шарі зберігання.
- Web API Pentesting
- Storage Buckets & Firebase
- Imagemagick Security
- Artifactory & Package Registries
- Code Review Tooling
Supply Chain & Identifier Abuse
Атаки, що націлені на build pipelines або передбачувані ідентифікатори, можуть стати початковою точкою опори перед використанням традиційних багів.
Web3, Extensions & Tooling
Сучасні застосунки розширюються в браузери, wallets та автоматизаційні пайплайни — тримайте ці вектори в полі зору.
References
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


