Skip to main content

O que é uma injeção de SQL?

Uma injeção de SQL (Structured Query Language) é um tipo de ataque que quase sempre é tentado contra um site controlado por banco de dados. É um esforço para inserir código malicioso nas consultas SQL do site, a fim de interferir no gerenciamento de dados, destruindo, alterando ou revelando dados armazenados nas tabelas do banco de dados que dirige o site. SQL é uma linguagem de programação padrão usada para criar, atualizar e recuperar dados armazenados em bancos de dados.

Os perigos dos ataques de injeção de SQL são numerosos e geralmente muito devastadores quando são executados com êxito. Informações confidenciais, como números de cartão de crédito, registros médicos de uma pessoa, nomes de usuário e senhas para contas como banco on-line e e-mail, bem como vários tipos de números de identificação, podem ser expostos a criminosos cibernéticos. Embora o roubo de dados provavelmente seja o principal objetivo de quem tenta usar a injeção de SQL, não é a única motivação para o uso desta ou de qualquer outro tipo de técnica de injeção de código, como scripts entre sites. Os visitantes de um site que exibem informações de que não gostam podem tentar ataques de injeção de SQL para desativar o site, roubar dados ou alterar os dados para destruir a missão das pessoas por trás do site.

Às vezes, um ataque de injeção de SQL é tentado contra um site por um visitante descontente que pode ter sua conta banida pelos proprietários do site, que inveja a popularidade do site ou que procura destruir os negócios on-line de alguém que ele considera seja um inimigo. Obviamente, é necessário conhecimento de SQL para iniciar um ataque de injeção de SQL, mas geralmente não é considerado uma linguagem muito difícil de aprender, em comparação com outras linguagens de programação, e muito pode ser realizado com apenas um entendimento básico, mas sólido, de como usar isto. Isso significa que há um bom número de pessoas que navegam na Internet que possuem a habilidade necessária para tentar a injeção de SQL em um site.

Os desenvolvedores da Web, principalmente aqueles especializados em desenvolvimento da Web de back-end, são responsáveis ​​por garantir que os sites que eles programam estejam protegidos contra injeção de SQL. Quase sempre há mais de uma maneira de obter uma segurança tão importante, e a maioria desses métodos é considerada soluções simples, mas muito eficazes. Por exemplo, um desenvolvedor pode usar a função mysql_real_escape_string () ou instruções preparadas ao criar scripts na linguagem de pré-processador de hipertexto (PHP). Os métodos escolhidos para se proteger contra ataques devem ser cuidadosamente considerados, porque o desempenho do site como um todo não pode ser desconsiderado, mesmo ao configurar a segurança.