Методологія веб-вразливостей
{{#include ../../banners/hacktricks-training.md}}
У кожному веб-пентесті є кілька прихованих і очевидних місць, які можуть бути вразливими. Ця стаття призначена як контрольний список, щоб підтвердити, що ви шукали вразливості в усіх можливих місцях.
Проксі
Note
Сьогодні веб додатки зазвичай використовують якийсь вид проміжних проксі, які можуть бути (зловжито) використані для експлуатації вразливостей. Ці вразливості потребують наявності вразливого проксі, але зазвичай також потребують додаткової вразливості на бекенді.
- Зловживання заголовками hop-by-hop
- Отруєння кешу/Обман кешу
- HTTP Request Smuggling
- H2C Smuggling
- Включення на стороні сервера/Включення на стороні краю
- Виявлення Cloudflare
- Включення XSLT на стороні сервера
- Обхід захисту проксі / WAF
Введення користувача
Note
Більшість веб-додатків дозволяють користувачам вводити деякі дані, які будуть оброблені пізніше.
Залежно від структури даних, які сервер очікує, деякі вразливості можуть або не можуть застосовуватися.
Відображені значення
Якщо введені дані можуть бути якимось чином відображені у відповіді, сторінка може бути вразливою до кількох проблем.
- Включення шаблонів на стороні клієнта
- Включення команд
- CRLF
- Залишковий розмітка
- Включення файлів/Перехід по шляху
- Відкритий редирект
- Забруднення прототипу до XSS
- Включення на стороні сервера/Включення на стороні краю
- Підробка запитів на стороні сервера
- Включення шаблонів на стороні сервера
- Зворотне табулювання
- Включення XSLT на стороні сервера
- XSS
- XSSI
- XS-Search
Деякі з вказаних вразливостей потребують спеціальних умов, інші просто вимагають, щоб вміст був відображений. Ви можете знайти деякі цікаві поліглоти для швидкого тестування вразливостей у:
{{#ref}} ../pocs-and-polygloths-cheatsheet/ {{#endref}}
Функції пошуку
Якщо функціональність може бути використана для пошуку якихось даних у бекенді, можливо, ви зможете (зловжити) нею для пошуку довільних даних.
- Включення файлів/Перехід по шляху
- NoSQL Injection
- LDAP Injection
- ReDoS
- SQL Injection
- XPATH Injection
Форми, WebSockets та PostMsgs
Коли вебсокет надсилає повідомлення або форма дозволяє користувачам виконувати дії, можуть виникнути вразливості.
HTTP Заголовки
Залежно від HTTP заголовків, наданих веб-сервером, можуть бути присутніми деякі вразливості.
Обходи
Є кілька специфічних функцій, де деякі обхідні рішення можуть бути корисними для їх обходу.
- Обхід 2FA/OTP
- Обхід процесу оплати
- Обхід Captcha
- Обхід входу
- Умова гонки
- Обхід обмеження швидкості
- Обхід скидання забутого пароля
- Вразливості реєстрації
Структуровані об'єкти / Специфічні функції
Деякі функції вимагатимуть, щоб дані були структуровані в дуже специфічному форматі (як серіалізований об'єкт мови або XML). Тому легше визначити, чи може додаток бути вразливим, оскільки він повинен обробляти такі дані.
Деякі специфічні функції також можуть бути вразливими, якщо використовується специфічний формат введення (як ін'єкції заголовків електронної пошти).
Файли
Функції, які дозволяють завантажувати файли, можуть бути вразливими до кількох проблем.
Функції, які генерують файли, включаючи введення користувача, можуть виконувати непередбачений код.
Користувачі, які відкривають файли, завантажені користувачами або автоматично згенеровані, включаючи введення користувача, можуть бути скомпрометовані.
Зовнішнє управління ідентичністю
Інші корисні вразливості
Ці вразливості можуть допомогти в експлуатації інших вразливостей.
{{#include ../../banners/hacktricks-training.md}}