ataques de injeção mysql: um mergulho mais profundo
introdução
garante que a segurança dos aplicativos da web é Crucial, e database, é uma vira Este artigo examina a eficácia do uso de mysql_real_escape_string () e mysql_escape_string () em salvaguardar contra ataques sql. mysql_escape_string () são comumente usados para escapar de dados antes de inseri -los em consultas SQL. No entanto, essas funções são proteção suficiente contra todos os vetores de ataque? Isso ocorre porque apenas para escapar das variáveis PHP dentro das consultas. Não pode lidar com os nomes de tabela ou colunas escape ou limitar campos. "ONDE " . mysql_real_escape_string ($ campo). "=". mysql_real_escape_string ($ value);
Esta consulta é vulnerável à injeção de SQL se o campo $ ou $ value contiver entrada maliciosa. Um hacker pode criar uma consulta maliciosa que ignora os comandos não autorizados. Isso pode expor todos os registros em uma tabela, potencialmente revelando informações confidenciais. Eles podem permitir que os hackers executem consultas SQL arbitrárias. mysql_real_escape_string ($ argv [1]), mysql_real_escape_string ($ argv [2]), mysql_real_escape_string ($ argv [3]));
entrada 1:
retorna URLs começando com "http://www.reddit.com"Explorit)
entrada 3:executa consultas sql inesperadas
The Solution: Preparado Secates
Os especialistas recomendam usar as estaturas preparadas em vez de funções de escova. As declarações preparadas são técnicas do lado do servidor que garantem que apenas o SQL válido seja executado. Essa abordagem fornece proteção abrangente contra injeções SQL, conhecidas e desconhecidas. $ coluna. '=? Limite? '; $ declaração = $ pdo-> preparar ($ sql); $ declaração-> Execute (array ($ valor, $ limite));
$sql = "SELECT number FROM PhoneNumbers " . "WHERE " . mysql_real_escape_string($field) . " = " . mysql_real_escape_string($value);
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3