A injeção de comandos SQL (Structured Query Language) é um ataque muito utilizado hoe em dia. Esse tipo de falha não é do servidor de banco de dados, mas sim da aplicação desenvolvida para interagir com este banco. Esta aplicação pode ser em ASP, PHP, JSP ou qualquer outro tipo de linguagem voltada ao desenvolvimento de aplicação que de alguma forma interaja com banco de dado. Este tipo de ataque consiste basicamente de conseguir injetar uma instrução diretamente no banco de dados, isso pode ser feito para se obter alguma informação, modificar dados, destruir dados ou até mesmo apagar todo o banco.
O grande perigo do SQL Injection é que não preciso descobrir um serviço de web-server vulneravel, mas sim, me aproveitar de um descuido do programador que esqueceu de validar algum campo, e que por consequência este pode receber uma instrução sql!
A dica é, ao desenvolver alguma aplicação web procure “sanitizar” a entrada de dados. Na 4ª edição da Revista Segurança Digital página 13, falei sobre a importância de se filtrar a entrada e saída de dados, tendo como objetivo evitar SQL Injection, PHP Injection e XSS.
Para um melhor entendimento deste artigo sugiro a leitura da 1ª e da 4ª edição da Revista Segurança Digital.
Site: http://www.segurancadigital.info
Sugestão de leitura: http://pt.wikipedia.org/wiki/Inje%C3%A7%C3%A3o_de_SQL