gestao da tecnologia da informação

1166 palavras 5 páginas
Correção de Falhas no SQL Injection
Se quando formos digitar um login, tivermos essa string de programação do sql na cabeça, podemos formar outra facilmente, que injeta um comando de sql, dentro do que o programador já fez.
Ou seja, se eu digitar Mario no username, o sql ficará: select usuario, senha, nome, admin from Users where usuario=’Mario’ and senha=’s3nh4′
Repare que as aspas simples continuam e fazem realmente parte do comando, que mostra ao sql que aquele campo deve ser comparado com um dado do tipo string.
Agora, se digitarmos no username Ma’rio (com uma aspa simples no meio), a página dará um erro, pois o comando ficaria desse tipo: select usuario, senha, nome, admin from Users where usuario=’Ma’rio’ and senha=’s3nh4′
Analisando, vemos que quando fomos comparar o campo usuário, abrimos uma aspa simples, colocamos o conteúdo Ma e fechamos a aspa simples. Para o sql, a comparação terminou aí, o que vem depois, deveria ser comandos. Mas não era. Era a continuação do username, a palavra rio e mais uma aspa simples, que deveria estar fechando a primeira (antes da palavra Ma), mas na realidade está abrindo uma nova string no SQL, e como não é comparado com nada, o SQL retorna erro de programação.
Então, já que o SQL aguarda ansiosamente por outra aspa simples para fechar aquela primeira, porque nós não damos a ele, e aproveitando, injetamos um comando nele.
Imagine se usarmos a string ‘ or ’1 (isso mesmo: aspa simples + espaco + or + espaco + aspa simples + 1), ficaria assim: select usuario, senha, nome, admin from Users where usuario=” or ’1′ and senha=’s3nh4′
Lendo o comando, seria a mesma coisa que falar pro SQL: me retorne o usuario que seja igual a vazio OU 1. Lembrando que 1 em informática é a mesma coisa que True (verdadeiro). Lendo novamente: Me retorne o usuário que seja igual a vazio (não existe nenhum) OU verdadeiro (opa.. verdadeiro é verdadeiro, então achei). Nisso, a tabela pega todos os usuários, pois todos dão verdadeiro. Não são

Relacionados

  • Gestão e Tecnologia da Informação
    2171 palavras | 9 páginas
  • Gestão da tecnologia da informação
    1756 palavras | 8 páginas
  • Gestao da tecnologia da informação
    2182 palavras | 9 páginas
  • Tecnologia da informação para gestão
    863 palavras | 4 páginas
  • Gestão da Tecnologia da Informação
    624 palavras | 3 páginas
  • Gestão da tecnologia da informação
    2953 palavras | 12 páginas
  • Gestão da tecnologia da informação
    5904 palavras | 24 páginas
  • Gestão da tecnologia da informação
    49956 palavras | 200 páginas
  • gestão de tecnologia da informação
    26984 palavras | 108 páginas
  • Tecnologia da informação na gestão
    3255 palavras | 14 páginas