Marcelo Angelo da Cunha Battistini escreveu:
> o que é SQL injection?
> 
> -----Mensagem original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] nome de Osvaldo Rosario
> Kussama
> Enviada em: sexta-feira, 22 de setembro de 2006 16:16
> Para: Grupo de Usuários do PostgreSQL no Brasil
> Assunto: Re: [PostgreSQL-Brasil] Excluir registro
> 
> 
> Silas Alves Júnior escreveu:
>> Ola Lista!
>> Estou recebendo a seguinte mensagem ao excluir:
>> ** 
>> *ERROR: syntax error at or near ")" at character 203*
>>  
>> Lembrando que a exclusão é efetuada.
>> Este é meu codigo, estou usando php (ADOdb) :
>>
>> /*$sql = "Delete From item_pedido Where numero = $numero And codmat = 
>> $codmat";*/
>> /**/ 
>> /*$db->Execute($sql);*/
>>  
>> Se eu executo na linha de comando, tudo ocorre bem, sem a msg acima.
>> Estou no winxp, postgre 8.1
> 
> 
> Verifique o conteudo das variáveis $numero e $codmat.
> 
> A não ser que estas variáveis sejam bastante longas (veja que o erro deu 
> na posição 203) elas podem conter sujeira ou pode ainda ser uma 
> tentativa de SQL injection.
> 


Veja http://en.wikipedia.org/wiki/Sql_injection

Como um pequeno exemplo, no caso citado você teria:
$codmat = 11450
$numero = 1005
então
$sql = "Delete From item_pedido Where numero = $numero And codmat = 
$codmat";
se transformaria em:
Delete From item_pedido Where numero = 11450 And codmat = 1005;

Agora se o conteudo de $numero fosse "1005 OR 1=1" você teria:
Delete From item_pedido Where numero = 11450 And codmat = 1005 OR 1=1;
o que causaria a exclusão de todos os registros da tabela.

A possibilidade de se poder introduzir códigos arbitrários em um campo 
deixa sua aplicação vulneravel.

[]s
Osvaldo

                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a