Injeções SQL: ataques ao coração do seu site

Tobias Schüring Última atualização 15.01.2020
6 min.
injeções SQL

Ao lado dos ataques deBrute Force há novamente e de novo WordPress Injeções SQL aparecem na lista dos maiores perigos para os sites WordPress . Estas são manipulações relativamente fáceis da base de dados das suas páginas. Os hackers podem obter dados sensíveis ou criar as suas próprias contas administrativas e manipular o seu site à vontade. Mostramos como funciona o ataque e porque é tão perigoso.

Março de 2008: Hackers (incluindo um verdadeiro mestre, a propósito) obtêm 134 milhões de detalhes de cartão de crédito da empresa americana Heartland Payment Systems. Meados de 2011: Suspeitos de hackers russos ganham acesso ao banco de dados de eleitores cadastrados no Conselho de Eleições do Estado de Illinois. Acontece algo semelhante no Arizona. Fevereiro 2017: Dados de 65.000 contas de utilizador são roubados do vendedor americano de armas Airsoft GI. Março 2017: Suspeitos de hackers chineses obtêm os dados pessoais de 4.000 clientes de um aplicativo coreano e enviam mensagens de texto, algumas delas obscenas, para as vítimas.

Todos estes ataques têm uma coisa em comum: por trás deles está um hack relativamente fácil de executar chamado SQL injection. Neste ataque, os hackers ganham acesso ao banco de dados e, portanto, a todos os dados do usuário em uma página. Na verdade, as injecções SQL são, portanto, consideradas um dos maiores perigos para os operadores do website. Também e especialmente para webmasters que trabalham principalmente com WordPress .

E como, no máximo desde WooCommerce , especialmente lojas maiores e mais complexas podem ser operadas sem problemas com WordPress , é importante entender o risco de WordPress SQL Injection e como ele funciona.

Quão "perigosas" são WordPress SQL Injections?

A questão da "perigosidade" de um hack WordPress não pode ser respondida em termos de um único indicador. Ao invés disso, deve-se considerar pelo menos dois aspectos: Por um lado, a probabilidade com que o próprio projecto WordPress -WordPress - pode ser vítima de tal ataque, bem como os danos que um hack pode causar.

Com os ataquesBrute Force , por exemplo, o número de ataques por mês é tão alto (em alguns casos mais de 1 bilhão de ataques medidos + número estimado de casos não reportados) que se pode dizer que cada WordPress -WordPress - projeto é mais cedo ou mais tarde alvo de tal ataque. Os danos que podem ser causados por um hack bem sucedido são múltiplos. Na maioria dos casos, os ataques de Brute Force também servem para seqüestrar websites e integrá-los em uma rede de bots. O cross-site scripting, por outro lado, ocorre com muito menos frequência, mas é usado principalmente para infectar sites com código malicioso.

A organização sem fins lucrativos Open Web Application Security Project (OWASP) publica regularmente uma lista dos 10 maiores riscos de segurança para aplicações web. E as injecções SQL ocupam consistentemente o primeiro lugar aqui, mesmo na (embora preliminar) lista para 2017.

Este é um gráfico da lista dos 10 maiores riscos de segurança para aplicações web publicada regularmente pela organização sem fins lucrativos OWASP. As injecções SQL ocupam aqui o primeiro lugar.
A organização sem fins lucrativos OWASP publica regularmente uma lista dos 10 maiores riscos de segurança para aplicações web. As injecções SQL ocupam aqui regularmente o primeiro lugar.

Na verdade, as injecções SQL estão aqui para ficar. O hack já existe há mais de 15 anos. E de acordo com o Relatório do Estado da Segurança da Internet da Akamai para 2017, a frequência de ataques SQL aumentou 28 por cento desde o primeiro trimestre de 2016. No primeiro trimestre de 2017, as injeções SQL representaram o hack mais comum, respondendo por 44% dos ataques. 

Isto ilustra que, no primeiro trimestre de 2017, a injeção SQL foi o hack mais comum, sendo responsável por 44% dos ataques.
No primeiro trimestre de 2017, a injecção SQL representou o hack mais comum, sendo responsável por 44% dos ataques, de acordo com o Relatório de Estado de Segurança da Internet de 2017 da Akamai.

Wordfence, Fabricante de um software de segurança para WordPress , chega à conclusão que as injecções SQL representam um grande perigo especialmente para os utilizadores de WordPress . Uma análise de quase 1.600 vulnerabilidades de segurança em Plugins, que foram reportadas durante um período de 14 meses, mostra claramente que as injecções SQL são o segundo risco de segurança mais frequente de todos para os sites WordPress .

O gráfico mostra claramente que as injecções SQL são o segundo risco de segurança mais comum de sempre para os sites WordPress .
O gráfico mostra que as injecções SQL são o segundo risco de segurança mais comum de sempre para os sites WordPress .

Com todos esses números você tem que ter em mente que o número de casos não relatados é muito maior - ataques SQL muitas vezes nem são notados e não aparecem em nenhuma estatística.

Os números mostram que WordPress SQL Injections após ataques deBrute Force e vulnerabilidades do XSS estão entre os tipos de ataques mais comuns. Além disso, as injecções SQL visam uma área particularmente sensível do seu site: a sua base de dados. Especialmente para donos de lojas, estes hacks são uma ameaça existencial. Portanto, é importante entender como eles funcionam e o que você pode fazer contra eles.

WordPress SQL Injections tem como alvo o coração do seu site: a base de dados.

Para entender como funciona a injeção SQL, você precisa entender como WordPress é fundamentalmente construído. Se você já sabe disso, você pode pular esta seção com segurança.

A base de dados é a base para cada instalação WordPress : Todo o conteúdo é armazenado aqui. O próprio CMS torna então possível exibir e editar este conteúdo. WordPress é uma base de dados MySQL. SQL significa Structured Query Language, uma linguagem de programação completa que pode ser usada para criar estruturas em uma base de dados e inserir, modificar e excluir dados.

Cada vez que você escreve um artigo, cria uma nova categoria, muda sua senha ou mesmo quando seus usuários escrevem um comentário, esses novos dados são armazenados no banco de dados. Então é aqui que reside cada peça de conteúdo do seu site.

Sempre que um usuário chama sua página e solicita determinado conteúdo,WordPress retira os dados apropriados do banco de dados, reúne-os com o PHP e cria um documento HTML que é finalmente transferido para o navegador do usuário. O usuário desconhece todos os processos que ocorrem até esse momento.

Injeções SQL injetam código externo na base de dados

Mesmo que você nunca trabalhe diretamente com a base de dados, mas apenas com o backend WordPress : A base de dados é o coração do seu site.

Mas como eu disse: os usuários também são capazes de inserir dados na base de dados. Escrever um comentário, criar uma conta de usuário, preencher e enviar um formulário de contato - todas essas ações geram dados que são armazenados no banco de dados.

Mas e se alguém usar esse acesso indireto à sua base de dados para contrabandear código malicioso para a base de dados? Isto é chamado de injeção SQL.

A ideia por detrás disto nem sequer é particularmente complicada: Se não existirem medidas de segurança, o hacker só tem de introduzir o código SQL num campo do formulário (por exemplo, ao escrever um comentário). Este código contém caracteres que têm uma função especial para o interpretador SQL, que é responsável pela execução de comandos SQL no banco de dados. Tais caracteres especiais, chamados metacaracteres, são, por exemplo ; " " e \i1.

O CMS acredita que estes são dados inofensivos e passa a entrada para a base de dados como de costume com a ordem para salvá-los. O interpretador SQL reconhece o código como um pedido de ação baseado nos metacaracteres e executa o comando da base de dados.

A propósito, o mesmo se aplica às injecções SQL e aos ataques Brute Force: Quase nunca um hacker se senta sozinho no computador e introduz manualmente códigos em formulários. Estes ataques também são realizados através de botnets automatizados que varrem milhares de sites simultaneamente em busca de vulnerabilidades e atacam onde elas descobrem uma.

O que pode acontecer agora?

  • O hacker contorna qualquer mecanismo de autenticação ou se esconde por trás da identidade de um usuário existente para obter acesso. Se um hacker cria uma nova conta de administrador, por exemplo, isto também é referido como uma exploração de escalada de privilégios.
  • Desta forma, ele pode espiar, alterar ou apagar dados. Isto é especialmente crítico se você administra uma loja online e tem os dados de pagamento dos seus clientes à sua disposição.
  • Ele pode assumir o controle de todo o seu site e espaço web, por exemplo, fazendo login como administrador e ganhando acesso ao seu backend. Desta forma, um hacker tem controle total sobre o seu site e pode abusar dele como contrabandista de spam, injetar código malicioso ou inseri-lo em uma botnet.

Conclusão: Especialmente por causa da automação WordPress SQL Injections são muito perigosas.

WordPress As injecções SQL estão entre os hacks mais perigosos de todos. São fáceis de realizar, na sua maioria automatizados e podem causar danos maciços: Especialmente para os operadores de lojas, o perigo das injecções SQL é existencial.

Portanto, é importante proteger o seu site em conformidade: As entradas do usuário devem ser verificadas e limpas. Você também deve mascarar dados para evitar a execução de código malicioso. Este processo chama-se Sanitização e Validação de Dados e é coberto em detalhe no CodexWordPress , por exemplo. Num dos artigos seguintes, no entanto, iremos entrar em mais detalhes sobre este tópico e mostrar-lhe-emos como pode evitar que o código malicioso fique activo na sua base de dados.

Basicamente, a segurança abrangentePlugins também ajuda aqui: Porque eles são especialmente capazes de bloquear ataques automatizados em suas páginas, que são a base para muitos hacks.

Como administrador do sistema, Tobias zela pela nossa infraestrutura e faz os ajustes necessários para otimizar o desempenho dos nossos servidores. Devido ao seu esforço incansável, ele pode ser frequentemente encontrado na Slack, a nossa "sala de chat da empresa".

Artigos relacionados

Comentários sobre este artigo

Escreve um comentário

O teu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *.