O que é injeção de SQL?

Uma das maiores classes de vulnerabilidades da web é conhecida como “SQL Injection” ou SQLi. A Structured Query Language, também conhecida como SQL, é a linguagem usada para interagir com a maioria dos bancos de dados, embora várias variantes da linguagem sejam usadas dependendo da plataforma do banco de dados. Qualquer site que armazene dados do usuário, como informações de conta, ou forneça a funcionalidade de upload do usuário, como um site de hospedagem de imagens, usará um banco de dados para armazenar esses dados.

Dica: SQL geralmente é pronunciado como “ess ​​cue ell” ou “sequel”, com a primeira opção sendo mais comum no inglês britânico e a segunda mais prevalente no inglês americano. Ambas as pronúncias são geralmente entendidas no contexto de falar sobre bancos de dados.

O que é SQLi?

SQLi é uma vulnerabilidade em que os desenvolvedores da web que projetam o código que se comunica entre o servidor da web e o banco de dados não implementam proteções contra comandos SQL enviados por um usuário. O problema é que é possível escapar das instruções do banco de dados e adicionar novos argumentos ou uma instrução inteiramente nova. A instrução do banco de dados alterada ou secundária pode executar uma série de ações, incluindo exclusões em grande escala ou vazamentos de dados.

As explorações geralmente giram em torno de fazer com que as declarações existentes sejam verdadeiras em todas as circunstâncias ou fornecer um segundo comando em lote que execute uma ação específica, como excluir ou exibir todos os dados. Por exemplo, uma instrução SQL para fazer login em um site pode verificar se o nome de usuário e a senha enviados correspondem a uma entrada no banco de dados. Para tentar obter acesso, um exploit de injeção SQL pode tentar adicionar uma cláusula “ou true”, como “ou 1 = 1”. Isso tornaria o comando nas linhas de “login com [este] nome de usuário, se a senha for [este] ou esta declaração for verdadeira”.

Como prevenir SQLi

SQLi costumava ser uma forma muito comum de sites terem seu banco de dados violado e, em seguida, vazado online. Devido a um esforço concentrado para garantir que a conscientização sobre a segurança faça parte do treinamento do desenvolvedor, essa classe de vulnerabilidade foi amplamente resolvida e raramente é vista mais.

O método correto para evitar o SQLi é usar instruções preparadas, também conhecidas como consultas parametrizadas. Tradicionalmente, as instruções SQL são declaradas e têm a entrada do usuário concatenada nelas durante essa declaração. Com as instruções preparadas, o comando do banco de dados é escrito e, em seguida, uma função separada executa o comando e insere os dados do usuário. Embora possa parecer uma pequena diferença, ele muda completamente a forma como o comando é tratado. A diferença impede que qualquer comando SQL significativo seja executado e trata todas as entradas do usuário como uma string, evitando que a injeção de SQL aconteça.



Leave a Comment

Corrigir erro do Facebook ao executar consulta

Corrigir erro do Facebook ao executar consulta

Resolva o erro ao executar consulta no Facebook com estas soluções eficazes e aprenda como otimizar sua experiência com a rede social.

Qual é o significado de DTB?

Qual é o significado de DTB?

Descubra o significado de DTB, uma gíria popular nas mensagens de texto. Aprenda a interpretar esse anagrama e seu uso em contextos diferentes.

Não consegue fazer login no YouTube? Use estas dicas para corrigir o problema

Não consegue fazer login no YouTube? Use estas dicas para corrigir o problema

Se você não consegue fazer login no YouTube, verifique se o seu navegador é o culpado por esse problema. Para consertar, limpe o cache e desative suas extensões.

Como Excluir Tweets Antigos em Massa

Como Excluir Tweets Antigos em Massa

Aprenda a excluir tweets antigos em massa de forma eficaz para manter sua imagem no Twitter. Descubra ferramentas úteis e dicas práticas!

Twitch.tv: Como desativar o modo de baixa latência

Twitch.tv: Como desativar o modo de baixa latência

Descubra como desativar o modo de baixa latência no Twitch e melhorar a experiência dos seus espectadores.

LinkedIn: Como bloquear / desbloquear pessoas

LinkedIn: Como bloquear / desbloquear pessoas

Aprenda a bloquear e desbloquear pessoas no LinkedIn de forma simples e prática, garantindo uma experiência profissional positiva.

Como alterar o fuso horário do Gmail

Como alterar o fuso horário do Gmail

Aprenda a alterar o fuso horário do Gmail de forma eficaz. Siga nosso guia prático para ajustes manuais.

Google Docs: Como criar um sumário

Google Docs: Como criar um sumário

Aprenda a criar um índice automatizado no Google Docs, facilitando a navegação em documentos extensos.

Corrigir que o LinkedIn não carrega imagens

Corrigir que o LinkedIn não carrega imagens

Descubra soluções para o problema do LinkedIn não carregar imagens. Aprenda como corrigir com este guia completo e otimizado.

Como inspecionar elementos no Mac, Windows, iPhone e iPad

Como inspecionar elementos no Mac, Windows, iPhone e iPad

Aprenda como inspecionar elementos no Mac, Windows e iOS com este guia completo, beneficiando-se de truques práticos para edição rápida.