[Cascavel-pm] [Off-Topic] UPDATE

Alexandre de Abreu alexandre.abreu em gmail.com
Terça Julho 24 09:38:56 PDT 2007


Opa,

Um código vulnerável ao ataque "SQL Injection", neste caso, é o código
Perl(ou da API que implementa o acesso ao DB), assim como podem
acontecer com outras linguagens(Java, ASP, etc.), e não no código SQL
em si. PoC:

SELECT `name` FROM `table` WHERE `id` = [$something]

Este código está errado? O que tá errado?

Ele é vulnerável a SQL Injection? Depende de como a variável de
entrada é formada, filtrada, etc.

Alexandre

On 24/07/07, Gabriel Vieira <gabriel.vieira em gmail.com> wrote:
> SQL Injection não tem nada haver com Perl, e sim com o código SQL
> utilizado, o placeholders, além de otimizar o código, deixá-lo mais
> limpo e permitir uma melhor manutenção, também valida as entradas
> enviadas aos códigos SQL, o que no caso o torna  quase ou imune a SQL
> injections.
>
> O fato do seu código ser complexo exige a utilização de Placeholders,
> eles servem para que você tenha trabalhar em alterar uma pequena parte
> de um enorme código além do que podem ser montados em tempo de
> execução também.
>
> Onde você vê mais trabalho? Todos aqui somos amantes do pouco
> trabalho, apesar de só o Eden, Roan e Joênio serem baianos, somos
> todos programadores Perl ;) e se indicamos a utilização de
> placeholders é porque irá dar menos trabalho, senão agora, quem sabe
> daqui uma semana. :)
>
> On 7/24/07, Luciano Giordani Bassani <lgbassani em terra.com.br> wrote:
> >
> >  Eu não costumo usar placeholders, pq em geral os meus SQLs são bastante
> > complexos e montados em tempo de execução, de acordo com o que o usuário
> > quer. Concordo que seria muito melhor usar, mas dependendo da aplicação dá
> > mais trabalho (e eu sou amante do pouco trabalho) fazer assim, e por isso
> > não uso.
> >
> >  Bom, na verdade o que eu gostaria de dizer é que já fiz dezenas de
> > simulações de SQL injection no Perl, e nunca consegui uma falha de
> > segurança, o que me leva a concluir que o Perl é imune a isso (mas não é
> > imune a problemas com aspas, que precisam serem tratadas antes, para não
> > causar erro na aplicação).
> >
> >
> >  SDS,
> >
> >  Luciano
> >
> >
> >
> >  Luis Motta Campos escreveu:
> >  On Jul 24, 2007, at 4:23 PM, <fernandolouis em terra.com.br>
> > <fernandolouis em terra.com.br> wrote:
> >
> >
> >  Amigo, só não entendi pq devo usar eles... há alguma otimização ou
> > o que?
> >
> >  Você não quer poder incluir os valores que quiser na tabela?
> > Precisa proteger os valores, e a melhor forma de fazer isso é usando
> > placeholders. De outra forma, o SQL pode interpretar parte dos seus
> > dados como "query" (depende apenas do que você tem nos seus dados), e
> > fazer burrada, ou não funcionar (como é o teu caso).
> >
> >  http://en.wikipedia.org/wiki/SQL_injection
> >
> >  Isto pode ser educativo, também, e está 100% relacionado.
> >
> >  Claro, tudo isso são sugestões, você pode colocar o que quiser nos
> > seus programas, desde que não me culpe por eles não funcionarem como
> > você espera... ;-)
> >
> >  Putamplexos!
> > --
> > Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
> > Perl fanatic evangelist, and amateur {cook, photographer}
> >
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >
> >
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
> --
> Gabriel Vieira
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


-- 
Alexandre de Abreu


Mais detalhes sobre a lista de discussão Cascavel-pm