hacktricks/src/pentesting-web/timing-attacks.md

40 lines
3.0 KiB
Markdown

# Napadi na osnovu vremena
{{#include ../banners/hacktricks-training.md}}
> [!WARNING]
> Za duboko razumevanje ove tehnike proverite izvorni izveštaj sa [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)
## Osnovne informacije
Osnovni cilj napada na osnovu vremena je u suštini da se mogu odgovoriti složena pitanja ili otkriti skrivene funkcionalnosti jednostavno **proverom vremenskih razlika u odgovorima na slične zahteve**.
Tradicionalno, ovo je bilo veoma komplikovano zbog latencije i jittera koje uvode i mreža i server. Međutim, od otkrića i poboljšanja [**Race Condition Single Packet napada**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), moguće je koristiti ovu tehniku da se uklone svi mrežni kašnjenja iz jednačine.\
Ostavljajući samo **kašnjenja servera** čini napad na osnovu vremena lakšim za otkrivanje i zloupotrebu.
## Otkrića
### Skrivena površina napada
U blog postu se komentariše kako je korišćenjem ove tehnike bilo moguće pronaći skrivene parametre i čak zaglavlja jednostavno proverom da kada je parametar ili zaglavlje prisutno u zahtevu, postoji **vremenska razlika od oko 5ms**. U stvari, ova tehnika otkrivanja je dodata u **Param Miner** u Burp Suite.
Ove vremenske razlike mogu biti rezultat **DNS zahteva**, nekog **logovanja** zbog nevalidnog unosa ili zato što se neki **provere vrše** kada je parametar prisutan u zahtevu.
Nešto što treba da zapamtite kada izvodite ovakve napade je da zbog skrivene prirode površine, možda nećete znati koja je stvarna uzrok vremenskih razlika.
### Pogrešne konfiguracije reverznih proksija
U istom istraživanju, podeljeno je da je tehnika vremena bila odlična za otkrivanje "scoped SSRFs" (koji su SSRFs koji mogu pristupiti samo dozvoljenim IP/domenima). Jednostavno **proverom vremenske razlike kada je postavljen dozvoljeni domen** u poređenju sa kada je postavljen nedozvoljeni domen pomaže u otkrivanju otvorenih proksija čak i ako je odgovor isti.
Kada se otkrije scoped otvoreni proksi, bilo je moguće pronaći validne ciljeve parsiranjem poznatih poddomena cilja i to je omogućilo:
- **Obilaženje vatrozida** pristupanjem ograničenim poddomenima putem **otvorenog proksija** umesto preko interneta
- Štaviše, zloupotrebom **otvorenog proksija** takođe je moguće **otkriti nove poddomene dostupne samo interno.**
- **Napadi na imitaciju front-end-a**: Front-end serveri obično dodaju zaglavlja za backend kao što su `X-Forwarded-For` ili `X-Real-IP`. Otvoreni proksiji koji primaju ova zaglavlja će ih dodati traženom kraju, stoga, napadač bi mogao da pristupi još više internih domena dodavanjem ovih zaglavlja sa dozvoljenim vrednostima.
## Reference
- [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}}