Nos posts passados, falei sobre o SQL Inejction, uma técnica
em que os hackers usam queries SQL para atacar web aplications (banco de dados
vulneráveis na web).
Através dessas queries, os hackers descobrem qual banco de
dados usado, usuários administradores do banco de dados, podem efetuar
operações dentro dessas tabelas, enfim, podem fazer o que quiserem, e o pior,
só vamos perceber depois que o estrago está feito. Esse estrago pode ser desde
uma simples invasão até credenciais de usuários roubadas.
Apesar dessa ameaça, existem algumas maneiras de evitar esse
tipo de ataque. Para isso, é necessário tomar alguns cuidados ( a maioria
simples procedimentos).
São eles:
·
Estabeleça uma política de segurança rígida e
criteriosa limitando o acesso dos seus usuários.
·
Faça a validação da entrada de dados no
formulário:
·
Não permitir caracteres como: (') , (--) e
(;)
·
Não permitir palavras como insert , drop , delete, xp.
·
Limite a entrada de texto para o usuário no
formulário de entrada de dados (usuário e senha).
·
Fazer o tratamento adequado de erros não expondo
informações sobre a estrutura dos seus dados (mostrando tipo de caracteres,
nomes de tabelas e usuários);
·
Faça um log para auditoria dos erros ocorridos e
das operações mais importantes da aplicação.
·
Sempre valide entrada de usuário testando tipo,
comprimento, formato e intervalo.
·
Nunca construa instruções SQL ou Transact-SQL diretamente
da entrada do usuário.
·
Use procedimentos armazenados (stored Procedures) para validar entrada
de usuário.
·
Nunca concatene entrada de usuário que não seja
validada.
·
Teste o conteúdo de variáveis de cadeia de
caracteres e só aceite valores esperados. Rejeite entradas que contenham dados
binários, sequências de escape e caracteres de comentário. Isso pode ajudar a
impedir injeção de script e proteger contra explorações de excesso de buffer.
O SQL Injection é uma das principais técnicas de invasão
utilizadas na atualidade, especialmente em aplicações web. Isso se dá, pois as aplicações
web estão disponíveis a uma grande quantia de usuários, externos e internos.
No próximo post, vamos falar sobre as ferramentas mais
usadas nesse tipo de ataque (HAVIJ, SQL Ninja e SQL Map).
Comentários são sempre bem vindos, se for para enriquecer o
tema, ainda melhor. Também vale colocar sugestões ou até mesmo criticas.
Grande abraço a todos.
São eles:
Nenhum comentário:
Postar um comentário