El día 22 de febrero de 2010 21:39, Matias Pablo Brutti <[email protected]> escribió: > 2010/2/22 Ricardo Markiewicz <[email protected]>: >>>>> @clientes_movimientos = ClienteMovimiento.find_by_sql("Select >>>>> clientes_movimientos.* " + >>>>> "from clientes_movimientos, solicitudes, clientes " + >>>>> "where clientes_movimientos.solicitud_id = >>>>> solicitudes.id >>>>> and " + >>>>> " solicitudes.cliente_id = clientes.id and " + >>>>> " clientes.id = #{params[:id]}") >>>>> AQUÍ NO ESTA EL PROBLEMA, el problema es que en el array que me genera, >>>> >>>> Hola, aca tenés un problemón, estás dejando un sql injection re lindo >>>> al mundo :). >>> heee, yo no se nada sobre sql injection. >>> >>> ¿cual es el problema? ¿como se puede comprobar el problema? y por >>> último ¿como se evita? >> >> El problema es que está pasando al query un string que viene desde el >> user sin hacerle ningun tipo de limpieza, dejando a algun vivo a hacer >> cosas como (not tested) >> >> /controller_name/25?id=25; INSERT INTO clientes_movimientos (income) >> VALUES (5000000000); >> >> Con sqlmap [1] encontras estos errores bastante facil auditando las >> URLs donde hagas cosas a mano. >> >> Y llenarme de plata con un cronjob. Se evita en principio, por ejemplo >> en este caso, haciendo un params[:id].to_i, usando los finders de >> ActiveRecord o haciendo un "escape string" (creo que hay un metodo en >> AR por si lo necesitas) antes de concatenar. >> >>> je, te maté a preguntas. si es muy largo te podrías dar una charlita :) >> >> eh, el experto en seguridad es freedomcoder :) > EHH .... Hacete cargo ahora no me mandes al frente a mi. Yo trate de > darles una chala una vez ... Te la presto y la das vos, talves a vos > te dejen. >> >> >> [1] http://sqlmap.sourceforge.net/ Hola Freedomcoder, Gazer
gracias a ambos se me aclaró bastante el panorama y pude ver porqué Gazer detecto al toque el problema del injection. ahora, Freedocoder lo tuyo fue /ban o /ignore ? propongo que Freedomcoder pueda dar su charla (por irc aunque sea) y que se le suspendan las amonestaciones :) saludos -- Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # divertite programando # http://rubytutorial.wikidot.com/introduccion _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
