O WP Auditory analisa vulnerabilidades técnicas, falhas de configuração, exposição de dados e riscos estruturais que podem comprometer a segurança, reputação e funcionamento do site. Abaixo estão os principais problemas que podem ser identificados:
Arquivos como wp-config.php, .env ou backups (.zip, .sql) estão acessíveis publicamente.
Configurações de servidor que não bloqueiam acesso direto a esses arquivos.
Risco de ataque hacker: Vazamento de credenciais de banco de dados, chaves secretas e código-fonte, permitindo takeover completo do site (invasão, roubo de dados).
Sem correção, um atacante pode baixar esses arquivos e comprometer todo o sistema, levando a perda de dados, defacement ou ransomware. É uma brecha básica e comum explorada por bots automatizados.
O servidor exibe o conteúdo de pastas (ex: /wp-content/uploads/) quando não há arquivo index.
Configuração padrão do servidor sem bloqueio (Options +Indexes no Apache).
Enumeração de arquivos sensíveis, backups ou configs escondidos, facilitando ataques direcionados.
Revela a estrutura do site, permitindo que hackers encontrem pontos fracos para exploração (ex: upload de shell via diretórios expostos). É uma porta aberta para reconnaissance.
A pasta .git (com histórico de código) está acessível publicamente.
Deploy incorreto ou falta de bloqueio no servidor.
Risco de ataque hacker: Download completo do código-fonte, incluindo senhas hardcoded, chaves API e commits antigos.
Expõe todo o código do site, permitindo reverse engineering e exploits customizados. Pode levar a vazamento de dados sensíveis ou backdoors.
Falta proteção contra o site ser carregado em iframe de outro domínio.
Cabeçalhos de segurança não configurados no servidor.
Risco de ataque hacker: Clickjacking (sobreposição de iframes para roubar cliques, como login ou pagamentos).
Protege usuários de phishing avançado onde o site real é usado para enganar ações. É uma medida básica contra UI redressing.
Não força o navegador a usar apenas HTTPS em conexões futuras.
Cabeçalho não adicionado no servidor HTTPS.
Risco de ataque hacker: Downgrade attacks (forçar HTTP para interceptar tráfego em redes Wi-Fi públicas).
Garante que o tráfego permaneça criptografado, prevenindo man-in-the-middle (MITM) e roubo de dados sensíveis como senhas.
Não impede o navegador de adivinhar o tipo de arquivo (MIME-sniffing).
Cabeçalho não configurado.
Risco de ataque hacker: Ataques XSS via arquivos uploadados interpretados incorretamente (ex: imagem como script).
Evita exploração de uploads maliciosos, reduzindo risco de injeção de código em navegadores.
Não controla o envio de informações de origem (referrer) para outros sites.
Cabeçalho padrão não definido.
Risco de ataque hacker: Vazamento de URLs sensíveis (ex: com tokens) para terceiros.
Protege privacidade e previne tracking ou exploração de links internos vazados.
Não define regras para carregamento de recursos (scripts, estilos), ou permite ‘unsafe-inline’.
Cabeçalho não implementado ou mal configurado.
Alta exposição a XSS (injeção de scripts maliciosos).
Reduz drasticamente ataques de injeção, protegendo usuários de roubo de dados via JS malicioso.
Header Server revela nome/versão do servidor (ex: Apache/2.4).
Configuração padrão do servidor.
Facilita exploits conhecidos para versões específicas.
Reduz fingerprinting, tornando mais difícil para hackers escolher ataques direcionados.
Servidor permite métodos como TRACE ou PUT além de GET/POST.
Configuração padrão sem restrições.
Leak de headers (TRACE) ou upload malicioso (PUT).
Evita abuso de métodos não necessários, reduzindo superfície de ataque.
Meta tags ou query strings revelam a versão do WP.
Funcionalidade padrão do WP.
Ataques direcionados a vulnerabilidades conhecidas daquela versão.
Dificulta reconnaissance, dando tempo para atualizar o WP sem ser alvo imediato.
API REST expõe usuários sem autenticação.
WP REST API ativa por padrão.
Brute-force em logins reais (ex: admin).
Protege contra ataques automatizados de credenciais, reduzindo risco de invasão.
Endpoint xmlrpc.php permite chamadas remotas.
Ativo por padrão no WP.
Brute-force massivo e DDoS via pingback.
Fecha uma porta comum para ataques amplificados, melhorando desempenho e segurança.
Arquivos padrão do WP acessíveis, revelando versão.
Não removidos ou bloqueados após instalação.
Facilita identificação de versões vulneráveis.
Reduz fingerprinting do WP, tornando mais difícil para scanners automáticos.
Tráfego enviado sem criptografia.
Certificado SSL não instalado ou configurado.
Interceptação de dados (senhas, cookies) via MITM.
Protege dados em trânsito, melhora SEO e evita warnings no navegador.
Usuários podem acessar via HTTP sem redirect.
Falta de regra de rewrite.
Downgrade para HTTP inseguro.
Garante criptografia sempre, prevenindo MITM em redes públicas.
Parâmetros de URL redirecionam para sites externos arbitrários.
Validação fraca em códigos de redirect.
Phishing ou roubo de tokens via redirects maliciosos.
Evita que o site seja usado como vetor para scams ou ataques de credenciais.
Servidor responde a TRACE, ecoando headers.
Configuração padrão sem desabilitação.
Leak de cookies via XST (Cross-Site Tracing).
Fecha brecha para roubo de dados protegidos (HttpOnly cookies).
Permite acesso cross-origin amplo com credenciais.
Headers CORS mal configurados.
Roubo de dados via JS de outros sites.
Protege APIs e dados sensíveis de leitura não autorizada.
Sem SPF ou sem -all (hard fail).
DNS não configurado para e-mails.
Spoofing de e-mails (phishing como se fosse do seu domínio).
Evita abuso do domínio para spam/phishing, melhorando entregabilidade e conformidade LGPD.
Sem DMARC ou com p=none/quarantine (não rejeita).
Falta de configuração DNS avançada.
E-mails falsos enviados como se fossem seus.
Bloqueia spoofing, protegendo reputação e usuários de fraudes.
Sem assinatura digital para e-mails.
Provedor de e-mail não configurado.
E-mails alterados em trânsito sem detecção.
Garante integridade dos e-mails, reduzindo spam e spoofing.
Arquivos ou diretórios com permissões excessivas (ex: 777, 666).
Deploy manual, hospedagem compartilhada mal configurada.
Permite escrita não autorizada → upload de backdoor ou webshell.
Permissões incorretas facilitam modificação maliciosa do código.
Área administrativa acessível publicamente sem camada adicional.
Brute-force direcionado.
Mesmo com senha forte, reduz ataque automatizado.
Não controla recursos como câmera, microfone, geolocalização.
Abuso de APIs modernas do navegador.
Cookies sem Secure, HttpOnly e SameSite.
Roubo de sessão via XSS ou MITM.
/wp-json/
Rotas customizadas
Plugins expondo endpoints inseguros
Exposição de dados sensíveis via endpoints custom.
wp-cron.php acessível externamente.
Abuso para sobrecarregar servidor.
Servidor executa .php dentro de /uploads.
Webshell remoto.
/backup/
/old/
/dev/
/test/
Bots procuram essas pastas.
Subdomínio apontando para serviço inexistente (ex: antigo Heroku).
Atacante registra serviço e assume subdomínio.
DNS não protegido contra spoofing.
Hijack de domínio.
Servidor aceita requisições ilimitadas.
Brute force e DDoS leve.
Páginas logadas sendo armazenadas em cache público.
Vazamento de sessão.
Arquivo phpinfo.php acessível.
Exposição total da configuração do servidor.
Servidor aceita TLS 1.0 ou 1.1.
Ataques de downgrade e criptografia fraca.
Cifras inseguras habilitadas.
Ataques de descriptografia.
Certificado com menos de 15 dias restantes.
Site cai inesperadamente.
Página HTTPS carregando recursos HTTP.
MITM via assets inseguros.
O site possui um usuário com login exatamente “admin”, que é o nome padrão do WordPress em instalações antigas.
Facilita ataques de brute force e credential stuffing, pois o atacante já conhece metade da credencial (o login). Bots automatizados tentam milhares de combinações partindo do usuário “admin”.
Reduz significativamente ataques automatizados. Quando o login é previsível, basta quebrar a senha. Alterar o usuário remove um vetor comum explorado por scanners massivos.
Usuários com senhas fracas (ex: 123456, admin123, nome+ano).
Ataques de dicionário e credential stuffing conseguem acesso rapidamente, especialmente se combinados com vazamentos anteriores.
Mesmo com firewall e bloqueios, senhas fracas são o principal vetor de invasão em WordPress. A maioria dos sites invadidos sofre por credenciais fracas — não por falhas técnicas avançadas.
Plugin instalado sem atualização há mais de 2 anos ou removido do repositório oficial.
Vulnerabilidades conhecidas podem ser exploradas publicamente. Exploits automatizados frequentemente miram plugins descontinuados.
Plugins abandonados não recebem patches de segurança. Manter um plugin assim é manter uma porta aberta permanente para invasão futura.
Temas instalados, porém não ativos.
Mesmo desativados, arquivos continuam acessíveis no servidor. Vulnerabilidades no tema podem ser exploradas diretamente via URL.
Reduz superfície de ataque. Se não está em uso, não deve permanecer no ambiente de produção.
Modo de depuração ativado em ambiente público.
Exposição de mensagens de erro com:
Caminhos absolutos
Queries SQL
Estrutura interna do sistema
Informações de plugins
Facilita engenharia reversa e exploração direcionada. Informações internas ajudam o atacante a mapear vulnerabilidades com precisão.
Erros PHP revelam o caminho completo do servidor.
Ajuda na construção de payloads personalizados, exploração de LFI (Local File Inclusion) e outras técnicas avançadas.
Reduz fingerprinting e impede que atacantes obtenham informações internas do ambiente.
Tabelas usam o prefixo padrão wp_.
Facilita scripts automatizados de SQL Injection que assumem nomes padrão de tabelas.
Não impede SQLi, mas dificulta ataques automatizados massivos que dependem de estrutura previsível.
Usuário do banco com permissões como GRANT ALL ou acesso administrativo completo.
Se houver SQL Injection, o atacante pode:
Criar novos usuários
Apagar banco
Executar operações destrutivas
Aplicar princípio do menor privilégio limita o impacto de uma eventual falha.
Porta 3306 aberta para acesso externo.
Tentativas de brute force direto no MySQL ou exploração de falhas do serviço.
Banco de dados deve aceitar conexões apenas localmente ou por IP restrito.
Ausência de camada de filtragem entre o visitante e o servidor.
Ataques como:
SQL Injection
XSS
Exploits automatizados
DDoS leve
WAF bloqueia ataques antes de atingirem o WordPress, reduzindo drasticamente risco e carga no servidor.
Sistema aceita tentativas ilimitadas de login.
Brute force massivo até encontrar senha correta.
Limitar tentativas impede que ataques automatizados testem milhares de combinações.
Login depende apenas de senha.
Se a senha vazar, acesso é imediato.
2FA adiciona camada adicional, bloqueando invasões mesmo com senha comprometida.
Parâmetros da URL são exibidos sem sanitização.
Execução de scripts maliciosos no navegador da vítima, podendo roubar cookies ou redirecionar para phishing.
Protege usuários contra roubo de sessão e manipulação de conteúdo.
Entradas do usuário não validadas antes de consulta ao banco.
Extração ou alteração de dados do banco.
SQL Injection é uma das falhas mais críticas da OWASP, podendo comprometer totalmente o site.
IP real do servidor é facilmente descoberto.
Bypass de firewall CDN e ataques diretos ao servidor.
Ocultar IP protege contra ataques diretos e DDoS.
cPanel, Plesk ou painel acessível publicamente.
Brute force administrativo.
Painel é porta crítica — deve ter IP restrito ou 2FA obrigatório.
Porta 22 aberta sem rate limit ou fail2ban.
Brute force em credenciais SSH.
SSH comprometido significa controle total do servidor.
Sem sistema que detecte alteração de arquivos.
Backdoors podem permanecer ocultos por meses.
Permite detectar invasões rapidamente.
Backups manuais ou inexistentes.
Ransomware ou falha técnica pode causar perda total.
Backup é última linha de defesa.
Logs não armazenados ou analisados.
Logs permitem auditoria, investigação e conformidade LGPD.
Scripts externos carregados sem hash de verificação.
Se CDN for comprometida, script malicioso é executado.
SRI garante integridade do recurso carregado.
Headers modernos de isolamento de contexto.
Possibilidade de ataques cross-origin avançados.
Melhora isolamento e segurança em aplicações modernas.
Links externos abertos com target=”_blank” sem proteção.
Página externa pode alterar aba original.
Protege usuários contra phishing indireto.
HSTS ativo, mas não incluído na lista global preload.
Primeiro acesso pode ocorrer via HTTP.
Garante HTTPS mesmo antes da primeira conexão.
Headers permitem cache público de conteúdo sensível.
Dados privados podem ser armazenados indevidamente.
Evita vazamento de dados via proxy/cache.
Endpoints AJAX ou REST expostos sem autenticação.
Extração de dados ou execução de ações indevidas.
Toda API deve exigir autenticação e validação adequada.