Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Encontrado 'OR 1=1/* sql injection no banco de dados do meu boletim informativo


'OR 1=1 é uma tentativa de fazer uma consulta ter sucesso, não importa o que
O /* é uma tentativa de iniciar um comentário de várias linhas para que o restante da consulta seja ignorado.

Um exemplo seria
SELECT userid 
FROM users 
WHERE username = ''OR 1=1/*' 
    AND password = ''
    AND domain = ''

Como você pode ver se você preencher o campo de nome de usuário sem escapar do ' não importa quais credenciais o usuário passe na consulta, retornará todos os IDs de usuário no sistema, provavelmente concedendo acesso ao invasor (possivelmente acesso de administrador se admin for seu primeiro usuário). Você também notará que o restante da consulta seria comentada por causa do /* incluindo o ' real .

O fato de você poder ver o valor em seu banco de dados significa que ele escapou e esse ataque específico não foi bem-sucedido. No entanto, você deve investigar se outras tentativas foram feitas.