AVISO: No intentar reproducir lo que a continuación se expone, ya no funcionará, y lo único que se conseguirá es ser baneado en fresqui. El objetivo de este post es Informar.
Hace escasos días se publicaba en un sitio web un código que permitía realizar votaciones fraudulentas en las noticias de fresqui.
El funcionamiento era colocarse un plugin de wordpress para que cada visitante de tu blog sin saberlo, votara positivamente la noticia que especificaste previamente. Este vulnerabilidad se basa en el ataque CSRF.
Se ocultan los campos específicos para no dar publicidad a dicho sitio.
Pero veamos más detenidamente el código del plugin.
Funcionamiento:
1. Es válido para cualquier noticia, como si la mandas tú o una que quieres que salga a portada. Tienes que conseguir el ID único para esa noticia, en el caso de que la votes, puedes verlo a través de uno de los plugins de firefox que comenté anteriormente.
2.El código anterior realiza la consulta en la base de datos de worpress con los parametros especificados, la key="fresqui" y la ID de la noticia="XXXX".
Esta cadena:
http://tec.fresqui.com/?q=fresqui/vote_up_node/&nid=' . $fresqui .
es la que ejecuta el voto en la noticia, y
return $text;
devuelve el número total de votos de la misma.
El tag "img" es la parte donde entra el ataque CSRF,
ya que el navegador de el usuario que visite el blog donde esta este plugin procesara este tag, realizando el voto, pero no verá ningúna imagen asociada. disply:none
El creador de este código actuó de mala fé, lo primero que hay que hacer al descubrir una vulnerabilidad en un sitio web es avisar a los responsables, pero no intentar aprovecharse de ello.
Más datos:
http://codex.wordpress.org/Using_Custom_Fields
http://codex.wordpress.org/Function_Reference/wpdb_Class
http://shiflett.org/articles/foiling-cross-site-attacks
9 comentarios:
En ningún momento me aproveché de ello :), sino a estas alturas ya tendría un IPod y nadie se hubiera enterado...
El "ataque" que comentas también lo hicieron en Digg, y no pegaron el grito al cielo como ahora.
Segun entiendo, siempre hubo falencias en el sistema de votación, así que si no lo arreglaron, no es mi problema
Alex tu actitud de si no lo arreglaron no es problema mío da un poco de pena.
Todo vale, hiciste ese plug-in solo para crear un poco de flame y conseguir un puñado de visitas y encima la culpa es de la web a la que expones a un "Exploit" y ni siquiera avisas.
Tu sabrás pero no vayas encima de "no es problema mío" y que bueno que soy que si hubiera querido...
Mi querido anonymous, si quieres te doy acceso a las visitas de ese día, verás que se mantuvo en el mismo nivel -bajo- de visitas.
¿Es tan grave ese "ataque"?, personalmente creo que no, y por lo que entiendo, lo solucionaron en pocos minutos.
Ahora bien, la solución que dicen que le dieron, no me parece la adecuada, puesto que todavía se puede manipular el sistema de votación...
Estoy con alex, los de Fresqui son unos incompetentes. Yo los conozco muy bien, y doy fé de ello. Jamás reconocerán un error. ¿He dicho jamás? Quería decir JAMÁS. Y lo cierto es que no hacen ni una a derechas ni de casualidad. no tienen ni idea de desarrollo web, ni de nada en general que no sea engañar.
El bueno de Alex del Castillo (el FEO de Fresqui) usa software libre modificado (Drupal, con licencia GPL), y no tiene intención de liberar el código a la comunidad (lo que es un incumplimiento de licencia). Y encima, para colmo, pide que la comunidad le reporte los fallos que tiene su bodrio de aplicación de forma gratuita y desinteresada...
No son buena gente, os lo aseguro. Y cosas como esta tienen toda su legitimidad. Es más, si por mí fuera tiraba a todas las webs que incumplen las licencias GPL del software que usan.
Bravo por Alex.
Alex, compartimos aficiones pero no actitudes.
Javier, si es verdad todo lo que cuentas en tu blog entiendo tu forma de expresarte, pero lo que dices no es el camino correcto.
admin, si empezamos así...
Sí, digo la verdad. Normalmente, cuando hablo con alguien por primera vez, no es sa la frase obligada que tengo que soltar.
¿Qué es eso que digo que "no es el camino correcto"? ¿A qué camino te refieres? Saca ese blogger que llevas dentro y exprésate un poco mejor, por favor :)
Ok Javier, lo que quiero decir es que
en la forma de expresarte se te ve harto quemado, no hace falta ser tan radical.
En esta marabunta de Internet hay y habrá de todo, eres libre de criticar, elogiar, alabar y todo lo que quieras, pero eso de "si por mí fuera tiraba a todas las webs que incumplen las licencias GPL del software que usan", no hace más que ponerte a su misma altura. Preocúpate de que lo que TU hagas, hacerlo bien, lo demás ya vendrá.
Un saludo.
Se citó incumplimento de la GPL, y eso es un error.
Si yo distribuyo el programa debo distribuir las fuentes o darlas si me la solicitan.. solamente eso, pero si solo modifico un programa y permito utilizarlo, de manera alguna estoy en la obligación de repartir los fuentes.
Saludos.
Hola a tod@s.
Os cuento mi problema a ver si me podeís echar una mano.
En mi trabajo uso SecureCRT para conexiones a host remotos y estaba interesado en crearme unos script para la gestión de dichos equipos.
He visto varios ejemplos de código por la red pero no me funcionan o mejor dicho, creo que no se hacerlos funcionar pq hacer algo sin saber es difícil.
Estoy interesadisimo en tener conocimientos sobre el tema.
Mi duda es: ¿Sabe alguien de algún tutorial que me explique la manera de hacer esto o como crear estos scripts?.
Mi correo es: namorha@hotmail.com
Muchas gracias a tod@s y saludos.
Publicar un comentario