XSS Baseado em DOM
O que é XSS Baseado em DOM?
XSS Baseado em DOMVariante de XSS em que a injeção e a execução ocorrem inteiramente no navegador porque JavaScript do cliente escreve dados não confiáveis num sink perigoso.
O XSS baseado em DOM (Tipo 0) é uma falha de cross-site scripting cuja causa reside totalmente no código do lado do cliente. Uma fonte como location.hash, document.referrer, window.name, postMessage ou localStorage é passada sem sanitização para um sink perigoso do DOM, como innerHTML, document.write, eval ou jQuery.html. Como o servidor nunca vê a carga, a vulnerabilidade é invisível para WAFs e logs tradicionais. As defesas incluem APIs seguras como textContent, Trusted Types em navegadores modernos, CSP rigorosa e análise de JavaScript com ferramentas de rastreio de fluxo de dados.
● Exemplos
- 01
document.getElementById('out').innerHTML = location.hash.substring(1);
- 02
Um router de SPA usa window.location para renderizar HTML sem sanitização num template.
● Perguntas frequentes
O que é XSS Baseado em DOM?
Variante de XSS em que a injeção e a execução ocorrem inteiramente no navegador porque JavaScript do cliente escreve dados não confiáveis num sink perigoso. Pertence à categoria Ataques e ameaças da cibersegurança.
O que significa XSS Baseado em DOM?
Variante de XSS em que a injeção e a execução ocorrem inteiramente no navegador porque JavaScript do cliente escreve dados não confiáveis num sink perigoso.
Como funciona XSS Baseado em DOM?
O XSS baseado em DOM (Tipo 0) é uma falha de cross-site scripting cuja causa reside totalmente no código do lado do cliente. Uma fonte como location.hash, document.referrer, window.name, postMessage ou localStorage é passada sem sanitização para um sink perigoso do DOM, como innerHTML, document.write, eval ou jQuery.html. Como o servidor nunca vê a carga, a vulnerabilidade é invisível para WAFs e logs tradicionais. As defesas incluem APIs seguras como textContent, Trusted Types em navegadores modernos, CSP rigorosa e análise de JavaScript com ferramentas de rastreio de fluxo de dados.
Como se defender contra XSS Baseado em DOM?
As defesas contra XSS Baseado em DOM costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para XSS Baseado em DOM?
Nomes alternativos comuns: XSS Tipo 0, XSS de cliente.
● Termos relacionados
- attacks№ 240
Cross-Site Scripting (XSS)
Vulnerabilidade web que permite a um atacante injetar scripts maliciosos em páginas visitadas por outros utilizadores, executados no browser da vítima sob a origem do site.
- attacks№ 1107
XSS Armazenado
Vulnerabilidade persistente de cross-site scripting: o script do atacante é guardado no servidor e executado no navegador de cada visitante.
- attacks№ 912
XSS Refletido
XSS não persistente em que a entrada controlada pelo atacante é imediatamente refletida na resposta e executada no navegador da vítima.
- appsec№ 214
Política de Segurança de Conteúdo (CSP)
Cabeçalho HTTP que informa ao navegador quais origens de scripts, estilos, frames e outros conteúdos são permitidas, limitando o impacto de XSS e injeções de dados.
- vulnerabilities№ 869
Poluição de protótipo
Vulnerabilidade JavaScript em que entrada não confiável modifica Object.prototype, injetando propriedades em todos os objetos e alterando comportamento, podendo levar a RCE.
- appsec№ 773
Codificação de saída
Transformação de dados não confiáveis em uma forma segura para um contexto de saída específico (HTML, JavaScript, URL, SQL, shell) para que não escapem e sejam executados como código.
● Veja também
- № 104XSS Cego