mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
40 lines
3.4 KiB
Markdown
40 lines
3.4 KiB
Markdown
# Timing Attacks
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
> [!WARNING]
|
|
> Per ottenere una comprensione profonda di questa tecnica, controlla il rapporto originale su [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)
|
|
|
|
## Basic Information
|
|
|
|
L'obiettivo di base di un attacco temporale è fondamentalmente quello di poter rispondere a domande complicate o rilevare funzionalità nascoste semplicemente **controllando le differenze di tempo nelle risposte a richieste simili**.
|
|
|
|
Tradizionalmente, questo è stato molto complicato a causa della latenza e del jitter introdotti sia dalla rete che dal server. Tuttavia, dalla scoperta e dal miglioramento dell' [**attacco Race Condition Single Packet**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), è possibile utilizzare questa tecnica per rimuovere tutti i ritardi di rete dal calcolo.\
|
|
Lasciando solo i **ritardi del server**, gli attacchi temporali diventano più facili da scoprire e sfruttare.
|
|
|
|
## Discoveries
|
|
|
|
### Hidden Attack Surface
|
|
|
|
Nel post del blog si commenta come utilizzando questa tecnica sia stato possibile trovare parametri nascosti e persino intestazioni semplicemente controllando che ogni volta che il parametro o l'intestazione era presente nella richiesta c'era una **differenza di tempo di circa 5ms**. In effetti, questa tecnica di scoperta è stata aggiunta a **Param Miner** in Burp Suite.
|
|
|
|
Queste differenze di tempo potrebbero essere dovute a una **richiesta DNS** eseguita, a qualche **log scritto** a causa di un input non valido o perché alcuni **controlli vengono eseguiti** quando un parametro è presente nella richiesta.
|
|
|
|
Qualcosa che devi ricordare quando esegui questo tipo di attacchi è che, a causa della natura nascosta della superficie, potresti non sapere qual è la vera causa delle differenze di tempo.
|
|
|
|
### Reverse Proxy Misconfigurations
|
|
|
|
Nella stessa ricerca, è stato condiviso che la tecnica temporale era ottima per scoprire "SSRF scoperte" (che sono SSRF che possono accedere solo a IP/domini consentiti). Semplicemente **controllando la differenza di tempo quando è impostato un dominio consentito** rispetto a quando è impostato un dominio non consentito aiuta a scoprire proxy aperti anche se la risposta è la stessa.
|
|
|
|
Una volta scoperto un proxy aperto scoperte, è stato possibile trovare obiettivi validi analizzando i sottodomini noti del target e questo ha permesso di:
|
|
|
|
- **Evitare i firewall** accedendo a sottodomini riservati tramite il **proxy aperto** invece che attraverso internet
|
|
- Inoltre, abusando di un **proxy aperto** è anche possibile **scoprire nuovi sottodomini accessibili solo internamente.**
|
|
- **Attacchi di impersonificazione Front-End**: I server front-end normalmente aggiungono intestazioni per il backend come `X-Forwarded-For` o `X-Real-IP`. I proxy aperti che ricevono queste intestazioni le aggiungeranno all'endpoint richiesto, quindi, un attaccante potrebbe essere in grado di accedere a ancora più domini interni aggiungendo queste intestazioni con valori autorizzati.
|
|
|
|
## References
|
|
|
|
- [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}}
|