Executando verificação de segurança...
5

Ver mais em:

Melhor exemplo (olha a gambi que tive que fazer para publicar):

Código

Sendo que user e senha não variáveis do seu código que receberam diretamente os dados vindo externamente à sua aplicação sem nenhum tratamento. Só nessas condições dá certo.

Em geral vão mandar o nome do usuário assim (se o user não aceitar tantos caracteres, pode tentar na senha, se também não der, não sei se tem solução pensada para todos os DBs, portanto ter poucos caracteres é ruim de um lado, mas pode previnir esse tipo específico de ataque, ainda pode conseguir de outra forma, então melhor fazer certo):

Isso fecha as aspas da query, e em seguida garante que será verdadeiro sempre conectando com OR ue exihge que só um lado seja verdadeiro, e 1=1 é verdadeiro, e depois usa o comentário para o resto do texto que já estava no seu código ser desconsiderado e não dar erro, ficando assim quando for executar (a senha não importa):

Pode testar. Espero não ter comido alguma bola, eu não testei :D

Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...
1

legal!! essa é mais uma forma de fazer SQL injection. há uma lista de queries que podem ser usados, tanto em inputs quanto no próprio URL do site. obrigado por compartilhar!

1

A sua só funciona em algumas circunstâncias, e mesmo assim na forma que mostrou, não fica claro que dá para fazer a injeção, eu diria que na maioria das linguagem não dá, teria que ser uma bem esquisita que dá.

1

o objetivo era citar um exemplo simples mesmo, só pra mostrar o conceito. como falei no post, normalmente essas queries são muitos mais complexas.
além disso, todos os exemplos usados nesse post foi retirado do vídeo do NetworkChuck caso queira dar uma olhadinha na fonte, o vídeo é excelente e explica de forma bem simples e direta. ele também cita um exemplo usando OR 1=1 mas eu resolvi compartilhar apenas o último exemplo pensando no tamanho do post.
mas obrigado pelo feedback maniero! acrescentou ao assunto no geral! ;)

1

O vídeo não é bom. Ele é simplista e tudo o que não pode com segurança é ser simplista. Mas não é trágico por isso. E de fato ele dá contexto que ajuda, seu texto não dá o mesmo contexto. Ele não mostra que o ataque vai funcionar sempre, apenas que dá para fazer alguma injeção. Mas o pior é que ele não mostra porque você pode causar isso. Ficou uma caixa mágina no vídeo dele. Tente reproduzir o que ele fala só com o que ele mostra, sem você fazer nada extra.

Por isso que eu falo para as pessoas pararem de seguir influencers e aprender com engenheiros. Influenciadores só querem views, o compromisso com a relidade é de baixo a zero.

0

amigo, eu só queria compartilhar com o pessoal o conceito de SQL injection que eu vi pela primeira vez essa semana. meu objetivo não era dar uma aula. talvez o post, assim como a aula do Filipe no curso me incentivou a pesquisar mais sobre o assunto, também incentive outros a conhecer e procurar saber mais.
por isso fiquei feliz com seu primeiro comentário, mais fontes para pesquisar!