DOM Clobbering

Medio

DOM Clobbering

Definición

DOM Clobbering es una técnica de ataque web donde el atacante inyecta elementos HTML que sobrescriben propiedades globales del DOM de JavaScript. Usando atributos como id o name en elementos HTML, se crean referencias globales que pueden reemplazar variables, objetos o funciones que el código JavaScript espera, alterando su comportamiento.

Impacto

Cross-Site Scripting (XSS) en contextos donde la inyección HTML está permitida pero no scriptsBypass de sanitizadores HTML como DOMPurifyAlteración del flujo de ejecución de JavaScriptRedirección a URLs maliciosas

Ejemplos

DOM Clobbering para sobrescribir variable global

Los elementos HTML con atributo id crean propiedades globales en window. Si el JavaScript de la app usa una variable global que coincide con el id inyectado, el elemento HTML la sobrescribe, permitiendo al atacante controlar su valor.

<!-- Código JavaScript de la aplicación -->
<script>
  // La app espera que 'config' sea un objeto definido en otro script
  if (typeof config !== 'undefined') {
    fetch(config.apiUrl + '/data');
  }
</script>

<!-- El atacante inyecta (en un campo que permite HTML pero no <script>) -->
<a id="config" href="https://evil.com/"></a>

<!-- Ahora config.toString() devuelve "https://evil.com/"
     y la app hace fetch a https://evil.com//data -->

Referencias externas

Practica DOM Clobbering con labs reales

Aplica lo que has aprendido en entornos seguros basados en reportes de bug bounty.

Ver labs de práctica
2.786

hunters entrenando

63

labs de hackeos reales

1.767

completaciones

$14.790

pagados por estos bugs

37 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis
Gratis · sin cuenta

La checklist que repaso en cada objetivo nuevo

47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.

Te das de baja en un clic, desde cualquier correo.

BBLabs · bug bounty en español

Deja de leer sobre bugs y empieza a cazarlos

Crea tu cuenta gratis y practica sobre labs basados en hackeos reales que pagaron miles de euros. La Academy es gratis para siempre.

Sin tarjeta · Academy gratis · cancela cuando quieras

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.