Red Hot Cyber
Condividi la tua difesa. Incoraggia l'eccellenza. La vera forza della cybersecurity risiede nell'effetto moltiplicatore della conoscenza.
Condividi la tua difesa. Incoraggia l'eccellenza.
La vera forza della cybersecurity risiede
nell'effetto moltiplicatore della conoscenza.
Banner Desktop
Redhotcyber Banner Sito 320x100px Uscita 101125
Hack tutorial: Cosa è il DOM-Clobbering.

Hack tutorial: Cosa è il DOM-Clobbering.

25 Marzo 2021 14:33

Autore: Damiano Capo

Data Pubblicazione: 25/03/2021


Cyber Offensive Fundamentale Ethical Hacking 02

Avvio delle iscrizioni al corso Cyber Offensive Fundamentals
Vuoi smettere di guardare tutorial e iniziare a capire davvero come funziona la sicurezza informatica?
La base della sicurezza informatica, al di là di norme e tecnologie, ha sempre un unico obiettivo: fermare gli attacchi dei criminali informatici. Pertanto "Pensa come un attaccante, agisci come un difensore". Ti porteremo nel mondo dell'ethical hacking e del penetration test come nessuno ha mai fatto prima. Per informazioni potete accedere alla pagina del corso oppure contattarci tramite WhatsApp al numero 379 163 8765 oppure scrivendoci alla casella di posta [email protected].


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

Per la serie Hack tutorial, oggi parleremo del DOM-Clobbering, ovvero quella tecnica in cui si inseriscono tag HTML all’interno di una pagina per manipolare il DOM (Document Object Model) – ovvero la rappresentazione ad oggetti della struttura e del contenuto di un documento web – al fine ultimo di manipolare il comportamento del codice JavaScript presente sulla pagina.

Questa tecnica consente di modificare il comportamento di un JavaScript all’interno di una pagina e può venire in aiuto in varie tecniche di attacco, ad esempio quando un XSS non risulta possibile nel modo classico di sfruttamento.

La forma più comune di DOM clobbering utilizza un elemento di ancoraggio per sovrascrivere una variabile globale, che viene quindi utilizzata dall’applicazione in modo non sicuro, come la generazione di un URL di script dinamico.

Ma per comprendere meglio questa tecnica di injection, è opportuno avere un’idea di quale sia la gerarchia nel DOM e le HTML-Collection.

B939cf 32ac9b5f2b534b82a499025cb5a45806 Mv2
Gerarchie DOM (Document Object Model)

IL DOM

Il DOM (Document Object Model) definisce la struttura logica dei documenti e il modo in cui essi sono accessibili e manipolabili e risulta fondamentalmente l’interfaccia di programmazione per documenti HTML e XML.

Quindi si tratta dell’interfaccia dalla quale ogni pagina web implementa i suoi costrutti, in modo che i programmi possano modificare lo stile, il contenuto e la struttura del documento.

Cos’è l’HTML-Collection ?

L’interfaccia HTML Collection rappresenta una raccolta generica di particolari elementi e offre metodi e proprietà per la selezione dall’elenco.

Una HTMLCollection nell’HTML DOM è attiva; viene aggiornata automaticamente quando viene modificato il documento sottostante.

Come abbiamo detto, il DOM Clobbering è quella tecnica che consiste nell’iniettare del codice HTML all’interno di una pagina in modo che questo possa manipolare il DOM e quindi alterare il comportamento del Javascript.

Il DOM è stato inizialmente implementato senza alcuna standardizzazione, questo lo porta in alcuni casi a dei comportamenti insoliti. Per mantenere questa compatibilità, i browser supportano questi comportamento insoliti e tali comportamenti possono portare al DOM Clobbering.

Prendiamo l’esempio seguente:

Nel browser, “x” avvisa la Collection-HTML dell’oggetto.

Questo può essere fatto tramite gli attributi “id” o “name”.

Quindi, laddove l’XSS non è possibile, ma, gli attributi “id” e “name” vengono inseriti nella whitelist dal filtro HTML, saremo comunque in grado di controllare una piccola quantità di HTML su quella pagina.Un modo prevalente per farlo utilizza l’elemento href per sovrascrivere una variabile globale, che viene successivamente utilizzata dall’applicazione in modi non sicuri.

Cosa si può fare con questo?

Attraverso lo sfruttamento del DOM-Clobbering è possibile abilitare l’XSS, ma come sfruttiamo questa vulnerabilità?

Ci sono vari modi in cui questo può essere fatto:

1) Fare riferimento a uno script esterno

A volte, gli sviluppatori Javascript codificano come di seguito:

var testObject = window.testObject ||{};

Ora, se possiamo controllare un po ‘di HTML, possiamo sovrascrivere il testObject con un nodo DOM come href.Consideriamo il seguente frammento di codice vulnerabile:

window.onload = function () { let testObject = window.testObject ||{}; let script = document.createElement ('script'); script.src = someObject.url; document.body.appendChild (script); };

Possiamo “Clobberare” il riferimento testObject iniettando sotto l’HTML:

Poiché entrambi gli href utilizzano lo stesso ID, il DOM li raggrupperà insieme in una collection HTML. Ora il riferimento testObject viene sovrascritto con questa Collection HTML. L’attributo name nel secondo href viene utilizzato per colpire la proprietà “url” dell’oggetto testObject che punta a uno script esternonotorious.js.

2. Abilitazione di XSS

Osserviamo il seguente codice vulnerabile che utilizza l’operatore OR insieme a una variabile globale,

let defaultque = window.defaultque ||{ottava: ‘/images/octar.png’}

Cercheremo di distruggere la proprietà “octave” con il nostro attributo dannoso.Creiamo due href che avranno gli stessi valori “id” che li faranno raggruppare in una raccolta DOM, come mostrato di seguito:

Ora se vogliamo abilitare XSS possiamo provare la seguente modifica,

Quali sono le mitigazioni per l’attacco dom-clobbering?

  1. Assicurarsi che gli oggetti o le funzioni non siano nodi DOM nel caso in cui si stia filtrando il DOM.
  2. Evitare di scrivere codice che faccia riferimento a una variabile globale in concomitanza con l’operatore logico OR.
  3. Se vengono utilizzate librerie come DOMPurify per evitare vulnerabilità basate su DOM, assicurarsi che siano ben testate, poiché queste librerie possono essere utilizzate per bypassare i filtri.

Riferimenti:

https://portswigger.net/web-security/dom-based/dom-clobbering

https://medium.com/@shilpybanerjee/dom-clobbering-its-clobbering-time-f8dd5c8fbc4b

https://blog.rev3rse.it/appunti-wapt-dom/

https://research.securitum.com/xss-in-amp4email-dom-clobbering/

Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Cropped RHC 3d Transp2 1766828557 300x300
La redazione di Red Hot Cyber è composta da professionisti del settore IT e della sicurezza informatica, affiancati da una rete di fonti qualificate che operano anche in forma riservata. Il team lavora quotidianamente nell’analisi, verifica e pubblicazione di notizie, approfondimenti e segnalazioni su cybersecurity, tecnologia e minacce digitali, con particolare attenzione all’accuratezza delle informazioni e alla tutela delle fonti. Le informazioni pubblicate derivano da attività di ricerca diretta, esperienza sul campo e contributi provenienti da contesti operativi nazionali e internazionali.

Articoli in evidenza

Immagine del sitoVulnerabilità
Una falla su WhatsApp viene corretta silenziosamente, ma la community non ci sta
Redazione RHC - 06/01/2026

WhatsApp, l’app di messaggistica di Meta con oltre 3 miliardi di utenti attivi mensili, ha iniziato a introdurre modifiche tecniche per mitigare alcune vulnerabilità legate alla privacy dei dispositivi degli utenti. Le correzioni, individuate tramite…

Immagine del sitoCyber Italia
Smishing INPS 2026: rubano IBAN, documenti e selfie. Il CERT-AGID lancia l’allerta
Redazione RHC - 05/01/2026

Il CERT-AGID ha individuato una nuova campagna di smishing che utilizza il nome dell’INPS come esca per sottrarre informazioni personali e documenti sensibili ai cittadini. L’operazione fraudolenta è stata rilevata nei primi giorni di gennaio…

Immagine del sitoHacking
PlayStation 5 violata alla radice: trapela la chiave segreta che protegge l’intera console
Redazione RHC - 05/01/2026

Un recente evento ha visto un hacker anonimo rendere pubblica una chiave di sicurezza cruciale, impiegata da Sony per salvaguardare l’integrità della catena di trust nella console PlayStation 5. Questa chiave di sicurezza, conosciuta con…

Immagine del sitoInnovazione
GH05TCREW realizza PentestAgent: il tool open source basato su AI per il pentest
Redazione RHC - 05/01/2026

PentestAgent è un altro nuovo progetto open source sviluppato dal gruppo GH05TCREW che mira a supportare le attività di penetration testing attraverso l’uso di agenti basati su modelli linguistici. Il tool è progettato per funzionare…

Immagine del sitoCybercrime
Spyware: gli USA rimuovono le sanzioni agli sviluppatori dello spyware Predator
Redazione RHC - 05/01/2026

Il Dipartimento del Tesoro degli Stati Uniti ha inaspettatamente rimosso dalla sua lista di sanzioni tre individui precedentemente accusati di legami con Intellexa, lo sviluppatore dello spyware Predator. La decisione è stata presa a seguito…