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

Como forçar o Google Chrome a sempre mostrar URLs completos

Como forçar o Google Chrome a sempre mostrar URLs completos

O Chrome, por padrão, não mostra o URL completo. Você pode não se importar muito com esse detalhe, mas se por algum motivo precisar que o URL completo seja exibido, instruções detalhadas sobre como fazer o Google Chrome exibir o URL completo na barra de endereço.

Como recuperar o Reddit antigo

Como recuperar o Reddit antigo

O Reddit mudou seu design mais uma vez em janeiro de 2024. O redesenho pode ser visto por usuários de navegadores de desktop e restringe o feed principal ao mesmo tempo que fornece links

Como copiar conteúdo de livros didáticos com o Google Lens

Como copiar conteúdo de livros didáticos com o Google Lens

Digitar sua frase favorita do seu livro no Facebook é demorado e cheio de erros. Aprenda a usar o Google Lens para copiar texto de livros para seus dispositivos.

Corrigir endereço DNS do servidor não encontrado no Chrome

Corrigir endereço DNS do servidor não encontrado no Chrome

Às vezes, quando você está trabalhando no Chrome, você não consegue acessar determinados sites e recebe um erro “O endereço DNS do servidor de correção não foi encontrado no Chrome”. Veja como você pode resolver o problema.

Guia rápido sobre como criar lembretes no Google Home

Guia rápido sobre como criar lembretes no Google Home

Os lembretes sempre foram o grande destaque do Google Home. Eles certamente tornam nossa vida mais fácil. Vamos fazer um tour rápido sobre como criar lembretes no Google Home para que você nunca deixe de cuidar de tarefas importantes.

Netflix: alterar senha

Netflix: alterar senha

Como alterar sua senha no serviço de streaming de vídeo Netflix usando seu navegador preferido ou aplicativo Android.

Como desativar o prompt de restauração de páginas no Microsoft Edge

Como desativar o prompt de restauração de páginas no Microsoft Edge

Se você quiser se livrar da mensagem Restaurar páginas no Microsoft Edge, simplesmente feche o navegador ou pressione a tecla Escape.

Bitwarden: Como alterar sua dica de senha mestra

Bitwarden: Como alterar sua dica de senha mestra

Se a dica de senha do Bitwarden puder ser melhorada, estas são as etapas para alterá-la em menos de um minuto.

Imagens que não aparecem no Google Doc: por que e como corrigir

Imagens que não aparecem no Google Doc: por que e como corrigir

Se suas imagens não aparecerem em um Documento Google, o problema pode ocorrer por vários motivos. Aqui estão algumas soluções potenciais

Ocultar e exibir linhas e colunas no Planilhas Google

Ocultar e exibir linhas e colunas no Planilhas Google

Domine o aplicativo Planilhas Google aprendendo como ocultar e exibir colunas. Você pode fazer isso em computadores e dispositivos móveis.