Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/fcavallarin/domdig
Scanners de VulnerabilidadesScanners de Vulnerabilidades WebAnálise Dinâmica (Sandboxing)Segurança WebFuzzing
GitHubfcavallarin/domdig

domdig

Scanner de XSS DOM para Aplicações de Página Única

Ver Repositório
42050há 10 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

DOMDig

DOMDig é um scanner de XSS DOM que executa dentro do navegador Chromium e pode escanear aplicações de página única (SPA) recursivamente. Diferente de outros scanners, o DOMDig pode rastrear qualquer aplicação web (incluindo gmail) monitorando modificações no DOM e requisições XHR/fetch/websocket, e pode simular a interação real de um usuário disparando eventos. Durante esse processo, payloads XSS são inseridos em campos de entrada e sua execução é rastreada para encontrar pontos de injeção e as respectivas modificações na URL. É baseado em htcrawl, uma biblioteca Node poderosa o suficiente para rastrear facilmente uma conta do gmail.

PRINCIPAIS RECURSOS

  • Executa dentro de um navegador real (Chromium)
  • Motor de rastreamento recursivo de DOM
  • Lida com requisições XHR, fetch, JSONP e websockets
  • Suporta cookies, proxy, cabeçalhos personalizados, autenticação HTTP e mais
  • Sequências de login programáveis
  • Gravador de sequências
  • Fuzzer de postMessage

COMO COMEÇAR

Instalação

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

Exemplo

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

VERIFICAÇÕES REALIZADAS

O DOMDig pode realizar três verificações diferentes:

  1. DOM XSS
  2. DOM XSS Armazenado
  3. Injeção de Template
  4. XSS via postMessage

DOM XSS

A verificação de DOM XSS pode ser configurada com diferentes modos, habilitando comportamentos distintos. Por padrão, todos estão habilitados. Os modos são:

  1. domscan
  2. fuzz

domscan

Rastreia o DOM em busca de lugares onde o usuário pode injetar código JavaScript, por exemplo, uma caixa de texto. Pode descobrir pontos de injeção que não podem ser adivinhados por um scanner. Um exemplo pode ser uma funcionalidade de busca que pega o texto de uma caixa de entrada e, para disparar a busca, coloca-o no hash da URL como uma string JSON.

fuzz

Aplica fuzzing na URL (parâmetros de consulta e o hash) para ver se nosso código é executado ao carregar a página. Se nenhum código for executado, rastreia o DOM disparando eventos HTML na esperança de encontrar algo que execute nosso payload. Também pode descobrir o clássico XSS Refletido.

DOM XSS Armazenado

Após uma verificação de DOM XSS, o DOMDig rastreia a mesma página aguardando a execução de payloads previamente usados. Se um for encontrado, significa que ele pode sobreviver a recarregamentos de página.

Injeção de Template

Procura lugares onde placeholders de template (ex.: {var1}) podem ser avaliados como código JavaScript.

Vulnerabilidades Relatadas

Toda vulnerabilidade relatada contém os seguintes campos:

  1. type: o tipo de vulnerabilidade, pode ser domxss, stored ou templateinj
  2. url: a URL da página onde a vulnerabilidade foi encontrada
  3. payload: o payload utilizado
  4. element: o seletor CSS do elemento HTML, se houver, onde injetamos nosso payload
  5. description: uma descrição textual
  6. confirmed: uma vulnerabilidade é considerada confirmada quando a URL contém o payload de ataque. Se não está confirmada, significa que o código foi executado com sucesso, mas pode ser necessária uma análise manual para entender a relação entre o payload injetado e o esquema da URL.

Motor de Rastreamento

O DOMDig usa htcrawl como motor de rastreamento. O diagrama mostra o processo de rastreamento recursivo. Diagrama de Rastreamento SPA. O vídeo abaixo mostra o motor rastreando o gmail. O rastreamento durou muitas horas e cerca de 3000 requisições XHR foram capturadas.

rastreando gmail

Sequência de Login

Uma sequência de login (ou sequência inicial) é um objeto JSON contendo uma lista de ações a serem tomadas antes do escaneamento começar. Cada elemento da lista é um array onde o primeiro elemento é o nome da ação a ser tomada e os elementos restantes são "parâmetros" para essas ações. As ações são:

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

Exemplo

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

Arquivo de Payloads

Payloads podem ser carregados de um arquivo JSON (opção -P) como um array de strings. Para construir payloads personalizados, a string window.___xssSink({0}) deve ser usada como a função a ser executada (em vez do clássico alert(1))

Exemplo

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