SQL Injection

1138 palavras 5 páginas
A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem combases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entradas de dados de uma aplicação.

Índice [esconder]
1 Funcionamento
2 Injeção de SQL Avançado
3 Injeção "Cega" de SQL
4 Ver também
Funcionamento[editar | editar código-fonte]
Para exemplificar o funcionamento da injeção de SQL, consideremos uma instrução SQL comum:
SELECT id, nome, sobrenome FROM autores;
Essa instrução, que representa uma consulta na base de dados, retorna todos os registros das colunas "id", "nome" e "sobrenome" da tabela "autores". A partir desta mesma instrução, os registros a serem retornados podem ser restritos através da inclusão da cláusula WHERE, como é visto no exemplo abaixo:
SELECT id, nome, sobrenome FROM autores WHERE nome = 'josé' AND sobrenome = 'silva';
Com base nesta instrução, é fácil supor que "josé" e "silva" são strings, cujo conteúdo será preenchido pela entrada feita por algum usuário que estiver fazendo uso da aplicação.
Portanto, supondo que a aplicação não faça o tratamento apropriado do conteúdo inserido pelo usuário, o mesmo pode fazer o uso acidental do caractere apóstrofo. Gerando a entrada: nome = jo'sé sobrenome = silva
E fazendo com que a aplicação gere o código:
SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'sé' AND sobrenome = 'silva';
De acordo com a especificação da linguagem SQL, existe um erro de sintaxe nessa instrução, uma vez que a string passada para o campo nome é a apenas palavra "jo", pois a adição de apóstrofo quebrou a delimitação dos apóstrofos originais da consulta. O interpretador do SQL espera que o restante da instrução seja outros comandos SQL válidos que complementem a instrução principal. No entanto, como "sé" não é um identificador válido, essa

Relacionados

  • Sql injection
    454 palavras | 2 páginas
  • Sql injection
    1421 palavras | 6 páginas
  • SQL Injection
    881 palavras | 4 páginas
  • SQL INJECTION
    1913 palavras | 8 páginas
  • Sql injection
    4447 palavras | 18 páginas
  • SQL INJECTION
    604 palavras | 3 páginas
  • Sql injection
    708 palavras | 3 páginas
  • Sql injection
    696 palavras | 3 páginas
  • SQL Injection
    1152 palavras | 5 páginas
  • SQL INJECTION
    3557 palavras | 15 páginas