Como corrigir vulnerabilidade XSS no WordPress
Perguntas frequentes
Qual a diferença entre XSS refletido e XSS armazenado?
No refletido, o script vem na URL e só afeta quem clica no link malicioso. No armazenado, o código fica salvo no banco (um comentário, por exemplo) e dispara para todo visitante da página. O armazenado é mais grave porque atinge qualquer um sem ação extra.
Um plugin de segurança corrige o XSS sozinho?
Ele detecta e pode bloquear tentativas via WAF, mas não conserta o código vulnerável. A correção real é atualizar o plugin/tema com a falha ou escapar a saída no seu próprio código. O firewall é uma camada de defesa, não a solução de raiz.
Como descubro qual plugin tem a vulnerabilidade XSS?
Rode o WPScan ou um scanner de segurança: ele cruza seus plugins com bancos de vulnerabilidades conhecidas e aponta o componente, a versão afetada e a versão que corrige. A partir daí, basta atualizar ou substituir.
Escapar a saída ou sanitizar a entrada: qual é o certo?
Os dois, mas escapar a saída é a defesa principal contra XSS. Sanitize ao gravar para guardar dado limpo, e escape ao exibir conforme o contexto (esc_html, esc_attr, esc_url). Escapar na saída garante que nada injetado vire script executável.
A Content-Security-Policy resolve o XSS por si só?
Não resolve, mas reduz muito o estrago. Uma CSP bem configurada impede o navegador de executar scripts inline e de origens não autorizadas, então mesmo que uma injeção passe, o script tende a não rodar. É uma camada extra sobre o escape correto.
Removi o plugin vulnerável mas o site ainda redireciona. E agora?
O XSS pode ter deixado scripts gravados no banco. Procure código injetado em posts, comentários e wp_options, remova-o, regenere as SALT keys e troque as senhas de admin. Sem limpar o que ficou salvo, o redirecionamento persiste mesmo sem o plugin.














