.Net – Como evitar ataques por SQL Injection

Invadir um sistema utilizando técnicas de SQL Injection é uma coisa boba, mas tem muito desenvolvedor que ainda não leva em conta isso quando está programando.

evite-ataques-por-sql-injection

A técnica consiste em manipular as instruções SQL que executamos nas nossas aplicações, inserindo comentários caracteres que corresponde à comentários em SQL em um campo textbox, por exemplo. Com isso o hacker consegue fazer operações diretamente no banco de dados excluindo registros, tabelas ou entrando no sistema sem permições.

SqlCommand objCmd = new SqlCommand(“SELECT NOME FROM CONTATOS WHERE CODIGO = ” + codigo, objConn);

No código acima, por exemplo, caso a variável codigo recebesse qualquer string, ela seria incorporada ao comando, mesmo que fossem ‘‘, podendo comentar o restando do código ou inserir novos trechos.

Para resolver esse problema é simples. O mesmo código acima foi transposto abaixo, de forma a evitar vulnerabilidades em nossa aplicação.

SqlCommand objCmd = new SqlCommand(“SELECT NOME FROM CONTATOS WHERE CODIGO = @codigo” , objConn)objCmd.Parameters.AddWithValue(“@codigo“, codigo);

Claro que existem outras formas de se burlar um site e vários cuidados com a segurança devem ser tomados, mas isso já é assunto para um outro post 🙂

// Comente!

comentários

Olá, eu sou a Gabi e eu criei o "Eu Faço Programas" em 2011, quando ainda trabalhava em desenvolvimento web. Atualmente meu trabalho é focado em estratégia digital e redes sociais. Quer saber mais? www.imgabi.com

2 Comentários

// Siga as boas práticas: Comente!