Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
domdig — Escáner de XSS DOM para Aplicaciones de Página Única | Kitploit
Herramientas/GitHubGitHub/fcavallarin/domdig
Escáneres de VulnerabilidadesEscáneres de Vulnerabilidades WebAnálisis Dinámico (Sandboxing)Seguridad WebFuzzing
GitHubfcavallarin/domdig

domdig

Escáner de XSS DOM para Aplicaciones de Página Única

Ver Repositorio
42050hace 10 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

DOMDig

DOMDig es un escáner de DOM XSS que se ejecuta dentro del navegador web Chromium y puede escanear aplicaciones de página única (SPA) de forma recursiva.
A diferencia de otros escáneres, DOMDig puede rastrear cualquier aplicación web (incluyendo gmail) manteniendo un registro de las modificaciones del DOM y las solicitudes XHR/fetch/websocket, y puede simular la interacción real de un usuario mediante la activación de eventos. Durante este proceso, se colocan cargas útiles (payloads) XSS en los campos de entrada y se rastrea su ejecución para encontrar puntos de inyección y las modificaciones de URL relacionadas.
Está basado en htcrawl, una biblioteca de Node.js lo suficientemente potente como para rastrear fácilmente una cuenta de gmail.

CARACTERÍSTICAS PRINCIPALES

  • Se ejecuta dentro de un navegador real (Chromium)
  • Motor de rastreo recursivo del DOM
  • Maneja solicitudes XHR, fetch, JSONP y websockets
  • Soporta cookies, proxy, cabeceras personalizadas, autenticación HTTP y más
  • Secuencias de inicio de sesión scripteables
  • Grabador de secuencias
  • Fuzzer de postMessage

PRIMEROS PASOS

Instalación

root@kitploit:~
git clone https://github.com/fcavallarin/domdig.git
cd domdig && npm i && cd ..
node domdig/domdig.js

Ejemplo

root@kitploit:~
node domdig.js -c 'foo=bar' -p http:127.0.0.1:8080 https://fcvl.net/htcap/scanme/domxss.php

VERIFICACIONES REALIZADAS

DOMDig puede realizar tres verificaciones diferentes:

  1. DOM XSS
  2. DOM XSS Almacenado
  3. Inyección de Plantillas
  4. XSS por postMessage

DOM XSS

La verificación de DOM XSS se puede configurar con diferentes modos, habilitando distintos comportamientos. Por defecto, todos están habilitados.
Los modos son:

  1. domscan
  2. fuzz

domscan

Rastrea el DOM en busca de lugares donde el usuario pueda inyectar código JavaScript, por ejemplo, un cuadro de texto. Puede descubrir puntos de inyección que no pueden ser adivinados por un escáner. Un ejemplo podría ser una funcionalidad de búsqueda que toma el texto de un cuadro de entrada y, para activar la búsqueda, lo coloca en el hash de la URL como una cadena JSON.

fuzz

Fuzzea la URL (parámetros de consulta y el hash) para ver si nuestro código se ejecuta al cargar la página. Si no se ejecuta ningún código, rastrea el DOM activando eventos HTML con la esperanza de encontrar algo que ejecute nuestra carga útil.
También puede descubrir el clásico XSS Reflejado.

DOM XSS Almacenado

Después de realizar una verificación de DOM XSS, DOMDig rastrea la misma página esperando la ejecución de cargas útiles utilizadas anteriormente. Si se encuentra alguna, significa que puede sobrevivir a las recargas de la página.

Inyección de Plantillas

Busca lugares donde los marcadores de posición de plantillas (por ejemplo, {var1}) puedan ser evaluados como código JavaScript.

VULNERABILIDADES REPORTADAS

Cada vulnerabilidad reportada contiene los siguientes campos:

  1. type: el tipo de vulnerabilidad, puede ser domxss, stored o templateinj
  2. url: la URL de la página donde se encontró la vulnerabilidad
  3. payload: la carga útil utilizada
  4. element: el selector CSS del elemento HTML, si lo hay, donde se inyectó nuestra carga útil
  5. description: una descripción textual
  6. confirmed: una vulnerabilidad se considera confirmada cuando la URL contiene la carga útil del ataque. Si no está confirmada, significa que el código se ha ejecutado correctamente, pero puede ser necesario un análisis manual para entender la relación entre la carga útil inyectada y el esquema de la URL.

MOTOR DE RASTREO

DOMDig utiliza htcrawl como motor de rastreo.
El diagrama muestra el proceso de rastreo recursivo.
SPA Crawling Diagram.
El siguiente video muestra el motor rastreando Gmail. El rastreo duró muchas horas y se capturaron alrededor de 3000 solicitudes XHR.

crawling gmail

SECUENCIA DE INICIO DE SESIÓN

Una secuencia de inicio de sesión (o secuencia inicial) es un objeto JSON que contiene una lista de acciones a realizar antes de que comience el escaneo.
Cada elemento de la lista es un arreglo donde el primer elemento es el nombre de la acción a realizar y los elementos restantes son "parámetros" para esa acción.
Las acciones son:

  • navigate <url>
  • write <selector> <text>
  • select <selector> <value>
  • click <selector>
  • clickToNavigate <selector>
  • sleep <seconds>
  • setTarget <selector>

Ejemplo

root@kitploit:~
[
   ["navigate", "https://target.local/login-page"],
   ["write", "#username", "demo"],
   ["write", "#password", "demo"],
   ["sleep", 2],
   ["clickToNavigate", "#btn-login"]
]

ARCHIVO DE PAYLOADS

Las cargas útiles se pueden cargar desde un archivo JSON (opción -P) como un arreglo de cadenas. Para construir cargas útiles personalizadas, se debe usar la cadena window.___xssSink({0}) como la función a ejecutar (en lugar del clásico alert(1))

Ejemplo

root@kitploit:~
[
   ';window.___xssSink({0});',
   '<img src="https://raw.githubusercontent.com/fcavallarin/domdig/HEAD/a" onerror="window.___xssSink({0})">'
]
Descargar herramienta