3.1 - Métodos de Injeção SQL
Os programas e aplicações Web que acessam um banco de dados podem enviar comandos e dados ao banco de dados, bem como exibir dados recuperados do banco de dados por meio do navegador Web.
Um ataque de Injeção de SQL pode prejudicar o banco de dados de várias maneiras, como na manipulação não autorizada do banco de dados, ou recuperação de dados confidenciais. Ele também pode ser usado para executar comandos em nível do sistema que podem fazer o sistema negar serviço à aplicação.
Os tipos de ataques de injeção SQL mais comuns são:
Um ataque de manipulação muda um comando SQL na aplicação, fazendo que outra ação, diferente da originalmente proposta, seja executada no banco de dados. Por exemplo, suponha que um sistema de autenticação sistema de usuário receba o login e a senha do usuário e tente executar uma operação como “SELECT * FROM usuarios WHERE nome = ‘Thiago’ AND senha = ‘@#$sdf’. O atacante percebe que há uma tabela de nome ‘usuarios’ no banco de dados e ele poderia, por exemplo, mudar a instrução para “DROP TABLE usuario”, fazendo com que o sistema apague a tabela ‘usuarios’ e assim impossibilitando todo e qualquer acesso ao sistema.
XEsse tipo de ataque caracteriza-se pela sobrecarga do SGBD, fazendo que o processamento e/ou acesso a disco atinja 100% de ocupação. Dessa forma, outros processos de outros usuários ficam comprometidos e/ou não funcionam. Uma das formas de se executar esse tipo de ataque é criar loops infinitos de operações de acesso a dados, fazendo com que o sistema fique infinitamente realizando uma operação de acesso a disco. Um outro mecanismo desse tipo de ataque é sobrecarregar as portas de comunicação do servidor com a rede.
XEsse tipo de ataque permite ao atacante logar o sistema como se fosse um usuário privilegiado, muitas vezes com os mesmos direitos do DBA, podendo assim realizar qualquer operação no banco de dados.
X