Como você viu até agora, as injeções de perícias são muito perigosas e também são muito fáceis para Ocker e
muito fáceis de encontrar.
Você os encontrará em todos os lugares em alguns sites realmente famosos.
As pessoas tentam impedir essas vulnerabilidades usando filtros.
Os filtros podem fazer com que pareça que não há exploits, mas se você realmente tentar mais usando
a codificação de diferentes tipos de codificação ou usando um proxy, poderá ignorar a maioria desses filtros.
Alguns programadores usam uma lista negra.
Por exemplo, eles impedem o uso da união.
Eles impedem o uso de inserção e coisas assim.
Novamente, não é 100% seguro.
Pode ser ignorado usando uma lista de permissões.
Exatamente os mesmos problemas da lista negra.
A melhor maneira de fazer isso é programar seu aplicativo da Web de forma que ele não permita que o
código seja injetado nele e, em seguida, execute-o.
Portanto, a melhor maneira de fazer isso é usar a instrução parametrizada em que os dados e o código são separados.
E a melhor maneira de mostrar o que quero dizer com isso é usar um exemplo, estou mantendo a menor quantidade
de programação.
Neste exemplo, não quero que seja um programa e exemplo.
Na verdade, há erros na programação, mas estou tentando dar a você o conceito mais do
que como programá-lo.
Então, o código vulnerável que estávamos vendo costumava fazer isso, então ele costumava selecionar estrela de contas
onde o nome de usuário é igual ao que colocamos na caixa de texto 1 e depois colocamos a caixa de texto 1.
Vamos apenas colocar aqui.
Nós costumávamos dizer como homens e depois fechar o código e então podemos fazer um sindicato selecionar e executar outra
coisa.
E então, quando terminamos, costumamos adicionar o comentário que basicamente ignora tudo o que vem
depois dele.
Então, quando você copiar isso e colocar aqui, você verá o
que está acontecendo.
Então é a seleção.
Agora vamos apenas nos livrar disso porque isso é apenas fazer o corte não é legal
e eu vou apenas colocar um comentário sobre isso então ele vai fazer um select de contas onde o nome de usuário
é igual a Aardman Union selecione e execute o que quisermos fazer.
Isso é muito ruim e é muito difícil protegê-lo.
Como eu disse, use filtros e tudo, apenas destaque o problema não vai consertá-lo.
A melhor maneira de fazer isso é usando as instruções parametrizadas assim.
Então esta é a maneira segura de fazer isso.
Primeiro de tudo você prepara sua declaração a maioria dos idiomas como BHB
e todos eles realmente têm uma função como essa e você pode preparar starter selecionado de contas onde um nome de
usuário é igual a um ponto de interrogação e então você envia os valores.
Então ph agora sabemos que a instrução de habilidade é estrela de seleção de contas onde o nome de usuário é igual a algo e,
em seguida, ele tem o valor da caixa de texto 1.
Então, mesmo se nós entrarmos e usarmos nossa declaração muito sorrateira aqui e colada lá, o aplicativo da web saberá que o
valor para isso é que a União Européia seleciona com vida.
Ela tenta ir e selecionar iniciar de contas onde o nome de usuário nome de usuário e, em seguida, ele
realmente irá adicionar suas próprias citações e eles tentam encontrar um nome de usuário com o seguinte nome de usuário.
Então, tudo isso será executado como tal, de acordo
com as contas, onde o nome de usuário é igual a tantos sindicatos, selecione esta hashtag.
Por isso, nunca alavancará o que você colocar em sua caixa de texto será enviado como um valor e o aplicativo da web saberá que
isso é um valor.
Não é um código e nunca será executado.
Portanto, isso irá protegê-lo contra injeções Escurial.
Você pode usar os filtros como uma segunda linha de defesa.
E eu também aconselho que você use o mínimo de privilégios possíveis, então use para cada banco de dados, use um usuário com a menor quantidade de privilégios
que eles querem, então não permita que os usuários façam algo que eles não
permitirão.
Se for um site simples que apenas faz a seleção, apenas permita que o usuário selecione se ele precisa apenas
selecionar e inserir, e somente permitir que eles selecionem uma resposta.
E esta é uma regra que você deve manter com tudo, mesmo dentro da existência.
Certifique-se de que a pessoa com as permissões seja sempre o mais possível.
Cada usuário não tem permissões extras desnecessárias.