Festa com SQL injection
SQL injection é uma tática hacker que utiliza uma linguagem bem conhecida: SQL (Structured Query Language) ou Linguagem de Consulta Estruturada, é utilizada pela maioria dos SGDB "software livre" do Brasil e do mundo. Ela pode ser uma solução, ou um problema na vida de um administrador de redes.
Parte 5: Defendendo-se do golpe baixo!
Precisamos entender que a injeção de SQL, na maioria das vezes, utiliza campos passados pela aplicação na URL, o qual tem nome=valor. Os 'valor' são adulterados para uma query, da forma como o atacante deseja.
Vejamos várias defesas anti-SQL injection, mas antes, temos que entender a natureza do ataque. Um injection de SQL pode ser feita de diversas formas:
Dificilmente poderíamos falar detalhadamente sobre como realizar a defesa, pois depende da linguagem de programação e abstração utilizada para persistência dos dados.
Todavia, se você se preocupar com esta vulnerabilidade, criará dificuldades para o atacante, que, com certeza, procurará outro alvo.
É 'velho', TI não é fácil. Espero ter atingido a expectativas de todos.
Abraço a todos e bons estudos,
Professor Cristofe Rocha
Vejamos várias defesas anti-SQL injection, mas antes, temos que entender a natureza do ataque. Um injection de SQL pode ser feita de diversas formas:
- Injeção manual :: A mais inocente, pode ser detectada através de funções que trata em nível a aplicação. Neste caso é a realização de filtros em funções na aplicação. As quais removem palavras ofensivas à integridade do banco e podem ser encontradas na linguagem desejada através do Google.
- Outro recurso é utilizar métodos para realizar BIND das variáveis utilizadas na aplicação.
- Outra forma é tratar o problema pela assinatura com um IDS, já que todas as ferramentas possuem assinaturas definidas. Neste caso estaremos atuando em outra camada.
- Outra forma é utilizar frameworks que implementam os itens supracitados. No caso da linguagem Java, o Spring e outros... pesquise o frame de sua Ling (rsrsrsrsr).
Dificilmente poderíamos falar detalhadamente sobre como realizar a defesa, pois depende da linguagem de programação e abstração utilizada para persistência dos dados.
Todavia, se você se preocupar com esta vulnerabilidade, criará dificuldades para o atacante, que, com certeza, procurará outro alvo.
É 'velho', TI não é fácil. Espero ter atingido a expectativas de todos.
Abraço a todos e bons estudos,
Professor Cristofe Rocha