Jaws 0.4 – 0.5.5: XSS en Trackbacks …..
Hace poco que recibi un correo por el equipo de [url="http://jaws-user.com"]jaws-users[/url], en el cual se mencionaba sobre un error en los [term]Trackback[/term] que era mejor que se deshabilitaran por mal funcionamiento. Eso fue hace como una semana creo
, la verdad soy malisimo para las fechas, pero desde aquel entonces los deshabilite, ya que a mi nadie me hace referencia
, jeje.
¿Pero que son los [term]Trackback[/term]?
Todo [term]blog[/term] (principalmente) tiene la característica de hacer referencia a una fuente de información por ejemplo si yo hiciera un post sobre un artículo que ví en otro blog o página web, puedo usar su [term]trackback[/term] (una dirección url), para que aquel sitio web sepa que estoy haciendo una referencia a esa nota publicada, lo que se me hace chistoso es que la palabra [term]trackback[/term] (mi inglés es malo), lo entiendo como “ir hacia atrás”, creo que también en mi página debería aparecer el enlace al que estoy haciendo referencia, pero bueno ese es otro rollo.
Cuando un sitio hace esa referencia, el [term]CMS[/term] que se utilize o sistema se conecta a la página de referencia y envia información que se supone que es estandar, ya que algunos no siguen ese estandar, por lo cual muchas veces no podemos atrapar todos los [term]trackback[/term] que nos hacen.
Navegando el día de hoy por internet en todos los sitios que visito me tope con una página [url]http://www.michoacano.com.mx[/url], en la cual menciona sobre una “inyección html”, es decir [term]XSS[/term] a los [term]trackback[/term].
Checando el código de [friend]Jaws[/friend]:
[terminal]
Archivo: “gadgets/Blog/Blog.php”
Función: “Trackback()”
Línea: 1940
[/terminal]
Se puede observar la forma en la que [friend]jaws[/friend] toma y maneja las variables de los [term]trackback[/term] que recibe, de hecho [friend]jaws[/friend] usa una función que me parece es para evitar esto “JawsXSS” pero solo es aplicada a una variable.
[more]
Con este tipo de inyección se puede:
- Redirigir una página web.
- Enviar información y archivos al un usuario.
- Explotar las cookies.
- Etc, etc., …
El principal detalle es el uso de JavaScript ya que el html en si no conozco una etiqueta que pueda ser peligrosa, usada de manera mal intensional, bueno si acaso el uso de la etiqueta “meta”, “frame”, “iframe”, etc., etc., ups, si es peligroso, jeje
. Por el momento lo que se recomienda es deshabilitar el uso de [term]Trackback[/term] en el blog.
Por si alguien ya fue comprometido con este [term]bug[/term]:
- Solo deshabilitar los [term]trackback[/term].
- Borrar las entradas en la tabla “blog_trackback”.
En el código las posibles soluciones que se darían podrian ser:
- El uso de la función que ya integra [friend]Jaws[/friend] (JawsXSS) aplicado a las demás variables que recibe la función antes mencionada.
- Aplicar un htmlentities().
- Usar un parser para analizar las variables que se envian, para así aceptar datos solo validos.
Al parecer todas las versiones desde la 0.4 hasta la 0.5.5 de [friend]jaws[/friend], tienen este [term]bug[/term], entonces no es nada nuevo, aunque el código de [friend]jaws[/friend] 0.5 fue reescrito (tengo entendido), se paso el [term]bug[/term]
Post relacionados:


Gracias por el tip, o gracias al Michoacano…
Saludos.