O que é SQL Injection e como ela funciona

Postado em 16:52 by Administrador



A injeção SQL é mais uma metodologia comum utilizada por um hacker para explorar vulnerabilidades em aplicações de software. As vulnerabilidades são basicamente os elos fracos no software que expõe não autorizada de dados / informações para um usuário. Injeção SQL ocorre quando a entrada do usuário é filtrado incorretamente para instruções SQL incorporado.
SQL vulnerabilidades de injeção tem três formas:

Incorretamente filtrados caracteres especiais: caracteres de escape

Essa forma de injeção SQL ocorre quando o usuário manipula os comandos SQL usando caracteres como ". Por exemplo, considere que você precisa digitar login e senha quando entrar em sua conta. A instrução SQL gerado será:
"Os usuários SELECT * FROM WHERE senha = '" + senha + "'";

Agora, suponha que o nome de usuário ou senha digitados são tão "'ou '1' = '1". Assim, a instrução SQL atingindo a traseira será:

"Os usuários SELECT * FROM WHERE senha = '' or '1 '= '1'";

Olhe atentamente para essa afirmação. É decifrado pelo banco de dados como selecionar tudo da tabela "user" ter o nome igual ao campo 'ou 1 = 1. Durante o processo de autenticação, esta condição será sempre válido como 1 será sempre igual a 1. Assim, desta maneira o usuário tenha acesso não autorizado.

Lista de alguns insumos importantes utilizados por hackers para usar o SQL Injection técnica são:
a) 'ou' a '=' a
b) 'ou 1 = 1 -
c) 'ou 1 = 1; -
d) '; SELECT * FROM *; -
e) '(aspas simples) (Aqui olhamos para o erro)
f) '; usuários tabela drop -

Em alguns servidores SQL, tais como MS SQL Server qualquer comando SQL válido pode ser injetado através deste método, incluindo a execução de várias instruções. O seguinte valor do "username" no mapa abaixo causaria a eliminação do "usuários" da tabela, bem como a seleção de todos os dados a partir de "dados" de tabela (em essência a revelação de informações de cada usuário):
a '; usuários DROP TABLE; SELECT * FROM dados WHERE nome LIKE'%

Incorretamente manipulação do tipo de dados de entrada

Essa forma de injeção SQL ocorre quando a entrada do usuário não é fortemente tipada, ou seja, a entrada do usuário não é verificada para os dados de restrição de tipo. Por exemplo, considere um campo onde é solicitado a digitar seu número de telefone. Desde a introdução do número do telefone é do tipo de dados numéricos, portanto, a entrada deve ser verificado se é numérico ou não. Se não for marcada, o usuário pode enviar as informações alfanuméricas e instruções SQL embutidas. Considere a seguinte instrução SQL:
"SELECT * FROM user WHERE telefone =" input + + ";"
Agora, se eu posso entrada de dados alfanuméricos dizer "11111111; DROP na tabela de usuários", então eu tenho embutida uma instrução SQL para excluir toda a tabela "user". Isso pode ser prejudicial para a empresa!

Se acontecer de conhecer o nome do banco de nomes de tabela e coluna, qualquer usuário pode executar injeção de SQL utilizando as seguintes entradas:

1. 'Having 1 = 1 -
2. «Grupo de user.id having 1 = 1 -
3. «Grupo de users.id, users.username, users.password, users.privs having 1 = 1 -
4. "União select sum (users.username) dos usuários-
5. 'Soma união select (ID) de usuários -

Vulnerabilidades dentro do servidor de banco de dados

Às vezes podem existir vulnerabilidades no software de servidor de banco de dados em si, como foi o caso com real_escape_chars o servidor MySQL () funções.
Se o servidor de banco de dados não está configurado corretamente, então o acesso ao banco de dados pode ser facilmente encontrado pelos hackers.
O hacker pode obter informações sobre o servidor de banco de dados usando a seguinte entrada:
união "select @ @ version, 1,1,1 -

1. Extended Stored Procedure Ataques
2. sp_who: Isto irá mostrar todos os usuários que estão conectados ao banco de dados.
3. xp_readmail,,,,, @ olhadinha = 'false': isto irá ler todos os e-mails e deixar a mensagem como não lida.

Da mesma forma, existe uma lista de tais procedimentos armazenados estendidos que podem ser utilizados pelo hacker para explorar as vulnerabilidades existentes no software aplicativo na camada de banco de dados.

Então galera acho que agora você deve absolutamente ciente de que a injeção SQL é assim no meu próximo post vamos discutir sobre a base de dados hacks website "ou de forma website esse método.

Sem resposta para "O que é SQL Injection e como ela funciona"