mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
40 lines
5.0 KiB
Markdown
40 lines
5.0 KiB
Markdown
# Тайминг-атаки
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
> [!WARNING]
|
||
> Для отримання глибокого розуміння цієї техніки перегляньте оригінальний звіт з [https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work](https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work)
|
||
|
||
## Основна інформація
|
||
|
||
Основна мета тайминг-атаки полягає в тому, щоб мати можливість відповідати на складні питання або виявляти приховані функції, просто **перевіряючи різницю в часі у відповідях на подібні запити**.
|
||
|
||
Традиційно це було дуже складно через затримки та джиттер, які вводилися як мережею, так і сервером. Однак, з моменту відкриття та вдосконалення [**атаки Race Condition Single Packet**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), стало можливим використовувати цю техніку для усунення всіх затримок мережі з рівняння.\
|
||
Залишаючи лише **затримки сервера**, тайминг-атаки стають легшими для виявлення та зловживання.
|
||
|
||
## Відкриття
|
||
|
||
### Прихована атакувальна поверхня
|
||
|
||
У блозі коментується, як за допомогою цієї техніки вдалося знайти приховані параметри та навіть заголовки, просто перевіряючи, що коли параметр або заголовок були присутні в запиті, була **різниця в часі приблизно 5 мс**. Насправді, ця техніка відкриття була додана до **Param Miner** у Burp Suite.
|
||
|
||
Ці різниці в часі можуть бути викликані тим, що був виконаний **DNS-запит**, деякі **журнали були записані** через недійсний ввід або тому, що деякі **перевірки виконуються**, коли параметр присутній у запиті.
|
||
|
||
Щось, що потрібно пам'ятати, виконуючи такого роду атаки, це те, що через приховану природу поверхні ви можете не знати, яка насправді причина різниць у часі.
|
||
|
||
### Неправильні налаштування зворотного проксі
|
||
|
||
У тому ж дослідженні було зазначено, що техніка таймінгу була чудовою для виявлення "обмежених SSRF" (які є SSRF, що можуть отримати доступ лише до дозволених IP/доменів). Просто **перевіряючи різницю в часі, коли встановлено дозволений домен** в порівнянні з тим, коли встановлено недозволений домен, допомагає виявити відкриті проксі, навіть якщо відповідь однакова.
|
||
|
||
Як тільки відкритий проксі з обмеженнями виявлено, стало можливим знайти дійсні цілі, аналізуючи відомі піддомени цілі, і це дозволило:
|
||
|
||
- **Обійти брандмауери**, отримуючи доступ до обмежених піддоменів через **відкритий проксі** замість Інтернету
|
||
- Більше того, зловживаючи **відкритим проксі**, також можливо **виявити нові піддомени, доступні лише внутрішньо.**
|
||
- **Атаки на підробку фронтенду**: Фронтенд-сервери зазвичай додають заголовки для бекенду, такі як `X-Forwarded-For` або `X-Real-IP`. Відкриті проксі, які отримують ці заголовки, додадуть їх до запитуваного кінцевого пункту, отже, зловмисник зможе отримати доступ до ще більшої кількості внутрішніх доменів, додаючи ці заголовки з дозволеними значеннями.
|
||
|
||
## Посилання
|
||
|
||
- [https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work](https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work)
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|