Entradas en el mes de Marzo del 2007

WP Fixes, Bugs y mas…

Bueno como dije -y prometí a varias personas- voy a hablar aquí de la vulnerabilidad que encontré en WordPress, la verdad no es la gran cosa la encontré -realmente- solucionando un problema de manejo de arreglos y la directiva de php “register globals”, de la cual les hable previamente aquí.

La vulnerabilidad se encontraba en la funcion wp_title() la cual toma varios parametros que pueden ir como un query en el metodo GET para configurar lo que se mostrara como titulo de la pagina en el template, en pocas palabras dentro de un template de wordpress normal tenemos:

<title>... nombre blog, etc... <?php wp_title(); ?></title>

entonces wp_title(), devuelve ciertos parametros como dije en base a las variables/querys llenadas por el metodo GET entre ellas se encuentra la variable “m” de month/mes y “year” de año, estas variables pasan directito de su valor hacia la variable “title” que contiene el resultado que al final sera devuelto despues de procesar todos los parametros, sin embargo “m” esta semi-filtrado ya que solo permite desplegar 4 caracteres, pero a diferencia “year” pasa directo y solo se checa que “year” no este vacio, entonces como year se encuentra entre los tags (<title></title>), solo tendriamos que terminar el tag title y tendremos nuestra inyeccion:

http://[host]/?year=</title>[XSS]

Aplicando el ejemplo mas comun de XSS:
http://[host]/?year=</title><script>alert(document.cookie)
</script>

Tambien para este mismo sencillisimo bug (que aun no me acabo de creer que hubiera persistido tanto tiempo sin ser descubierta), tenia otra repercusion de la misma manera en al funcion single_month_title().

Como siempre antes de soltar algo espere a que salgan los fixes, para los que usan la ultima versión de SVN ya viene actualizado, pero para los que usamos la serie 2.1.x, aun solo ha salido un fix bueno oficial aun solo en la versión de SVN (hasta al momento que escribo la nota) no hay solucion real, solo una parte del fix ha salido, que solo cambia la forma en que las variables vienen para que sean filtradas ahora si por la funcion get_query_var(), falto la parte de sanitizacion, de todos modos me base en el fix del SVN para hacer un parche para la serie 2.1.x, ya que al parecer no se va a resolver el problema si no hasta las versiones siguientes a la 2.1.3 (posiblemente, aunque depende ya saben que de repente y wordpress saca una que otra versión de emergencia XDD).

Para los que quieran el parche desde aquí lo pueden descargar aquí:


Editado 15/03/2007
Ya hay fix Oficial!
http://trac.wordpress.org/changeset/5022

También como siempre (solamente por joder como diria masiosare XDD), les dejo demos del bug “en-vivo” usando mis blogs mas leídos de la seccion “Otros Blogs”Masio IT DEMO (Haber si ahora si actualizas XD)

Michoacano DEMO (Haber si el 1-click update de dreamhost funciona :-P)
DieBl0g DEMO (Querias un link? XDDD)
IsoPixel DEMO (sorry por hacerte esto vuarnet sobre todo despues de la operacion de hace unos dias :P) XDD, no se enojen son solo Demos :P…
Mañana le entro a las ultimas horas del weekend bug hunt para arreglar el puto tinymce que no han reparado y ya me carga la madre no usar el editor RTE es una joda escribir, deberas que uno no se da cuenta de que importante es hasta que te hace falta…

Hasta la siguiente

Damn Vulnerable Linux… una live distro muy especial

Damn Vulnerable Linux

Damn Vulnerable Linux (DVL de ahora en adelante) es una distribución live basada en Damn Small Linux especialmente diseñada para servir como una distribución de enseñanza de seguridad y contra-seguridad informática bajo GNU/Linux, al leer por primera vez via Kriptopolis no pude dejar de imaginar, que es todo un juguetito para los juakers con diferentes escenarios, retos, software, documentos y herramientas para aprender las malas y buenas artes del hacking. Continua leyendo »

Regresamos… Gracias al pasta :-)

Después de los múltiples pleitos que he tenido con los de mi hosting, pues me encontraba sin nada de nada, había dicho que me iba a pasar a dreamhost pero el principal problema de dreamhost es el costo, claro lo compensa con una cantidad enorme de features que tienes al contratar inclusive en el paquete mas básico…
Pero bueno pues ahí vagando y pe penando por un albergue temporal para el blog (por que ya los de mi hosting se pasaron estuve 1 día sin poder subir nada a mi website y pues como últimamente he estado modificando fuertemente wordpress, pues solo en local había estando haciendo pruebas, pero como dicen no hay mejor como probarlo en el salvaje mundo del Internet) el pasta (apodo de Paisterist, aunque siempre le he dicho pasta últimamente le empeze a decir pastelito -apodo tomado de towner- por que suena gracioso XD) me ofrecio de manera altruista y desconsiderada un espacio dentro del servidor dedicado de NST, al decirme esto no pude mas que llorar como un niño chiquito, increíble que hubiera todavía gente así en el mundo!…

Pasaron dos días y pues creí que todo había quedado en palabras pero no, Paisterist si me había dado el espacio y lo que es mejor me dio todo un subpanel para que me administre (no mas le falto la shell de unix, pero bueno no pbm de todos modos no me sirve de mucho XDD) y aparte me dio espacio web y transferencia ilimitada, WOAH casi me orino (XDDD) aparte agregemosle que ahora ando tras un dedicado esto quiere decir que mi blog corre en el server “casi” sólito lo que lo hace mas rapido en proceso de informacion :-), pero bueno anunciarles todo lo que el pasta me dio me llevaría toda una entrada, la verdad no tengo como agradecerle, aunque de todos modos no permaneceré aquí mas de 1 mes, se agradece tanto apoyo por parte del amigo pasta.

En otros asuntos, tengo que decirles a todos que como dije estoy haciendo grandes investigaciones sobre wordpress algunas para mejorar defectos apoyando con códigos, parches y test en el trac de wordpress es un trabajo cansado ya que tengo instalado y mantenido atraves del sistema SVN, 3 versiones diferentes de wordpress (la antigua 2.0.x, la estable 2.1.x, y el ultimo trunk 2.2.x), he mejorado y algunos de mis reportes ya se han puesto como changeset y se encuentran funcionando ya en la ultima version del trunk 2.2.x (a si al final no se uso mi parche si no el de markjaquith que es mas sencillo y eficaz, pero me gusto reportar y tratar de ayudar), también busque una vulnerabilidad XSS (No Persistente) en WordPress (en todas las series) que ya he reportado a Security de WordPress y aun espero su respuesta y resolución para luego hacerlo publico en el clasico BuqTraq de SecurityFocus, claro siguo investigando algunos otros defectos y partes inseguras y espero pues asi seguir apoyando con mi granito de arena a este maravilloso proyecto.

Sin mas que agregar nuevamente le doy gracias a Paisterist por darme este albergue temporal en el servidor dedicado de Neo Security Team mientras me muevo hacia dreamhost…

Modificando WordPress y aportando mi granito de arena

Pues después de que tenga varios problemas que ya arregle con los del hosting que tengo y de tomar una decisión acerca de la situación (si al final voy a escoger dreamhost, que espero de aquí a un mes ya estemos hospedados en el por que depende mas del cash que de mi) y pues habiendo acabado casi todo mis pendientes desde mi tarea, trabajos, proyectos me quedo un poco de tiempo libre para pues usarlo en algo productivo.
Continua leyendo »