Aggiungo una nota Giovanni, anche se so che a te sembrerà scontata. L'aspetto più grave di questa classe di attacchi via JavaScript è che ovviamente sono personalizzabili se si è in condizione di indentificare l'utente. Ed in un Web come quello mainstream, in cui ogni sito Web integra script provenienti da decine di sorgenti (e CDN) è possibile attaccare un visitatore di un sito completamente ignaro. E naturalmente, con un header HTTP di Cache-Control appropriato, puoi cancellare qualsiasi traccia dell'attacco dal PC della vittima ricaricando i file dell'attacco con versioni innocue. Se fai attenzione a preservare la dimensione dei file, nemmeno negli eventuali log del proxy HTTP rimarrà alcuna anomalia osservabile. Giacomo On Sunday, 7 June 2020, Giacomo Tesio <giacomo@tesio.it> wrote:
Lo fa anche il governo Russo. E sì permette anche di mappare una rete interna.
Si tratta di un attacco che ho ideato 2 anni fa, come esempio di una vasta classe di attacchi possibili su un browser, visto che mi si chiedeva un Proof-of-concept. O meglio, qui si fanno le cose complicate: basta cercare di caricare una GIF e misurare il tempo in cui ricevi l'errore.
La segnalazione a Mozilla (e successivamente a Chrome) è qui:
https://bugzilla.mozilla.org/show_bug.cgi?id=1487081
L'attacco in questione fu uno dei primi che mi venne in mente e lo descrissi qui:
https://dev.to/shamar/the-meltdown-of-the-web-4p1m
Successivamente, uno dei miei tanti detrattori inziali si accorse che ci si poteva appunto mappare l'intera rete
https://rain-1.github.io/in-browser-localhostdiscovery
Ma in realtà, in un mondo di IoT con telecamere accessibili via HTTP, ci si può fare molto di più! ;-)
D'altronde è solo uno dei possibili attacchi che appartengono a quella classe. Ne descrissi altri, in varie sedi, ma sembrava che a nessuno fregasse niente.
Peraltro, se è venuto in mente a me due anni fa, probabilmente era già molto diffuso in rete perché io sono solo un programmatore competente, non un ethical hacker esperto in penetration tests! Non sono mica un "esperto", io... ;-)
DUE anni dopo questi attacchi sono ancora possibili. D'altronde, come mi risposero da Mozilla nella issue,
"this is the Web functioning as designed"
E vedrai quando tutti useranno il DNS-over-HTTPS di Cloudflare! Avremo un canale cifrato ed insospettabile per inviare ad un server DNS tutti i dati sottratti attraverso questi trucchetti!
Giacomo