<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ent&atilde;o, no caso, suponha-se que o $something provenha de um CGI do tipo
$something = $query-&gt;param('something');<br>
Suponhamos que eu n&atilde;o fa&ccedil;a nenhum tratamento, apenas verifique se a
vari&aacute;vel $something n&atilde;o &eacute; nula...<br>
<br>
Se l&aacute; no meu html, o usu&aacute;rio colocar no campo input something = "1' or
true" ou qualquer outro suposto SQL Injection, mesmo assim o Perl
interpreta isso como vari&aacute;vel. Eu j&aacute; tentei v&aacute;rias combina&ccedil;&otilde;es, e mesmo
eu conhecendo meu banco de dados, minhas vari&aacute;veis, nome de campos, a
forma como o programa foi constru&iacute;do, ainda assim n&atilde;o consegui um furo
de seguran&ccedil;a com SQL injection. No m&aacute;ximo, consegui um erro do tipo
"500", ou seja, eu acho que isso do SQL Injection &eacute; mais mito do que
verdade... Se bem que talvez o ASP tenha conseguido esta fa&ccedil;anha em
algum momento da hist&oacute;ria, pois at&eacute; aquela m&aacute;xima que "foto n&atilde;o tem
v&iacute;rus" eles conseguiram mudar (hehehehe).<br>
<br>
<br>
SDS,<br>
<br>
Luciano<br>
<br>
<br>
Alexandre de Abreu escreveu:
<blockquote
 cite="midcbaad2900707240938n523b2fc2r74ee79f82fbf934@mail.gmail.com"
 type="cite">
  <pre wrap="">Opa,

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

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

Este c&oacute;digo est&aacute; errado? O que t&aacute; errado?

Ele &eacute; vulner&aacute;vel a SQL Injection? Depende de como a vari&aacute;vel de
entrada &eacute; formada, filtrada, etc.

Alexandre

On 24/07/07, Gabriel Vieira <a class="moz-txt-link-rfc2396E" href="mailto:gabriel.vieira@gmail.com">&lt;gabriel.vieira@gmail.com&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">SQL Injection n&atilde;o tem nada haver com Perl, e sim com o c&oacute;digo SQL
utilizado, o placeholders, al&eacute;m de otimizar o c&oacute;digo, deix&aacute;-lo mais
limpo e permitir uma melhor manuten&ccedil;&atilde;o, tamb&eacute;m valida as entradas
enviadas aos c&oacute;digos SQL, o que no caso o torna  quase ou imune a SQL
injections.

O fato do seu c&oacute;digo ser complexo exige a utiliza&ccedil;&atilde;o de Placeholders,
eles servem para que voc&ecirc; tenha trabalhar em alterar uma pequena parte
de um enorme c&oacute;digo al&eacute;m do que podem ser montados em tempo de
execu&ccedil;&atilde;o tamb&eacute;m.

Onde voc&ecirc; v&ecirc; mais trabalho? Todos aqui somos amantes do pouco
trabalho, apesar de s&oacute; o Eden, Roan e Jo&ecirc;nio serem baianos, somos
todos programadores Perl ;) e se indicamos a utiliza&ccedil;&atilde;o de
placeholders &eacute; porque ir&aacute; dar menos trabalho, sen&atilde;o agora, quem sabe
daqui uma semana. :)

On 7/24/07, Luciano Giordani Bassani <a class="moz-txt-link-rfc2396E" href="mailto:lgbassani@terra.com.br">&lt;lgbassani@terra.com.br&gt;</a> wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap=""> Eu n&atilde;o costumo usar placeholders, pq em geral os meus SQLs s&atilde;o bastante
complexos e montados em tempo de execu&ccedil;&atilde;o, de acordo com o que o usu&aacute;rio
quer. Concordo que seria muito melhor usar, mas dependendo da aplica&ccedil;&atilde;o d&aacute;
mais trabalho (e eu sou amante do pouco trabalho) fazer assim, e por isso
n&atilde;o uso.

 Bom, na verdade o que eu gostaria de dizer &eacute; que j&aacute; fiz dezenas de
simula&ccedil;&otilde;es de SQL injection no Perl, e nunca consegui uma falha de
seguran&ccedil;a, o que me leva a concluir que o Perl &eacute; imune a isso (mas n&atilde;o &eacute;
imune a problemas com aspas, que precisam serem tratadas antes, para n&atilde;o
causar erro na aplica&ccedil;&atilde;o).


 SDS,

 Luciano



 Luis Motta Campos escreveu:
 On Jul 24, 2007, at 4:23 PM, <a class="moz-txt-link-rfc2396E" href="mailto:fernandolouis@terra.com.br">&lt;fernandolouis@terra.com.br&gt;</a>
<a class="moz-txt-link-rfc2396E" href="mailto:fernandolouis@terra.com.br">&lt;fernandolouis@terra.com.br&gt;</a> wrote:


 Amigo, s&oacute; n&atilde;o entendi pq devo usar eles... h&aacute; alguma otimiza&ccedil;&atilde;o ou
o que?

 Voc&ecirc; n&atilde;o quer poder incluir os valores que quiser na tabela?
Precisa proteger os valores, e a melhor forma de fazer isso &eacute; usando
placeholders. De outra forma, o SQL pode interpretar parte dos seus
dados como "query" (depende apenas do que voc&ecirc; tem nos seus dados), e
fazer burrada, ou n&atilde;o funcionar (como &eacute; o teu caso).

 <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/SQL_injection">http://en.wikipedia.org/wiki/SQL_injection</a>

 Isto pode ser educativo, tamb&eacute;m, e est&aacute; 100% relacionado.

 Claro, tudo isso s&atilde;o sugest&otilde;es, voc&ecirc; pode colocar o que quiser nos
seus programas, desde que n&atilde;o me culpe por eles n&atilde;o funcionarem como
voc&ecirc; 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
<a class="moz-txt-link-abbreviated" href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a>
<a class="moz-txt-link-freetext" href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a>




_______________________________________________
Cascavel-pm mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a>
<a class="moz-txt-link-freetext" href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a>

      </pre>
    </blockquote>
    <pre wrap="">
--
Gabriel Vieira
_______________________________________________
Cascavel-pm mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a>
<a class="moz-txt-link-freetext" href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a>

    </pre>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
</body>
</html>