sexta-feira, 27 de novembro de 2009

SQL Inject

SQL injection é uma vulnerabilidade que permite que um invasor para alterar backend SQL manipula as ações e entrada dos usuários. Uma injeção de SQL ocorre quando os aplicativos web aceitam a entrada do usuário que está diretamente colocado em uma instrução SQL e não propriamente filtrar caracteres perigosos.

Esta é uma da camada de aplicação mais comum de ataques actualmente a ser utilizado na Internet. Apesar do fato que é relativamente fácil de se proteger contra, há um grande número de aplicações web vulnerável.

O impacto desta vulnerabilidade:
Um atacante pode executar instruções SQL arbitrário no sistema vulnerável. Isso pode comprometer a integridade do seu banco de dados e / ou expor informações confidenciais.

Dependendo do back-end banco de dados em uso, as vulnerabilidades de injeção SQL levar a diferentes níveis de dados / acesso ao sistema para o atacante. Pode ser possível, não só para manipular as consultas, mas a UNIÃO de dados arbitrários, use subselects, ou acrescentar consultas adicionais. Em alguns casos, pode ser possível ler ou escrever para fora de arquivos, ou para executar comandos de shell do sistema operacional subjacente.

Alguns servidores SQL como o Microsoft SQL Server contém e os procedimentos armazenados estendidos (funções de banco de dados do servidor). Se um invasor pode obter acesso a esses procedimentos, pode ser possível para comprometer toda a máquina.

Como corrigir essa vulnerabilidade
Seu script deve ter meta caracteres e filtro de entrada do usuário da mesma forma em buscas, formulários, envio de arquivos (uploads), contato entre outros com possibilidade de realizar consultas por meio GET ou POST.

Nenhum comentário:

Postar um comentário