Etiquetawordpress

FPD en WordPress no es considerado un error

Como recordarán, hace unos días publiqué dos artículos sobre una vulnerabilidad Full Path Disclosure en WordPress, que afectaba a los plugins y a los archivos propios del CMS. Luego de unas semanas de haberlo reportado recibí una respuesta:

We consider path disclosures a server configuration error. WordPress
files don’t protect against disclosing paths when directly loaded.

En otras palabras, no es considerado un error o una vulnerabilidad ya que corresponde a un problema de configuración del servidor.
Pueden leer un hilo donde se discute sobre el tema.

[Proof-of-Concept] DoS gracias al script wp-trackbacks de wordpress

Un par de horas atrás, publiqué un artículo luego de haber leído una publicación de jcarlosn. Me di el tiempo de realizar una prueba de concepto (PoC) usando el exploit que él mismo propone. Si bien el código que él publicó tiene algunos problemas, luego de hacerle un par de modificaciones logré ejecutarlo y analizar su comportamiento y ver cómo sufre el servidor objetivo.

Duración de la prueba de concepto: 2 minutos
Sitio o servidor objetivo: blog.zerial.org
Tipo de exploit: remoto
Vulnerabilidad: Resource Exhaustion (DoS)
Descripción: El servidor comienza a consumir recursos hasta agotarlos, provocando la denegación del servicio.

wpress-test

Ejecuté el exploit en tres consolas distintas de forma simultanea, y al pasar 10 o 15 segundos ya se comenzó a notar el consumo de recursos en el servidor.

Seguir leyendo

Más Full Path Disclosure en WordPress y sin solución

Hace unos días publiqué un artículo sobre varios plugins que nos permitian ver el directorio completo de la instalación de wordpress (full path disclosure). Luego de esta publicación de una discusión en un hilo de la lista en full disclosure, me llegó un correo donde me comentaban que no sólo eran esos ficheros los que tenian esta vulnerabilidad, sino muchos más dentro de todo el sistema de wordpress.pwnpress
En la lista full disclosure y por otros medios, la gente me decia que eso se desactivaba facilmente deshabilitando la opcion “display errors” de php (ya sea en el php.ini, htaccess o en el mismo fichero php) pero mi opinión fue siempre la misma: Esta forma de ‘solucionarlo’ ocultaría el error pero en ningún caso lo solucionaría, es decir, el problema continuaría estando, pero oculto. Otras personas dieron otro tipo de solución como la de editar los ficheros e incluir una validación de la existencia de algunas constantes o variables que WordPress setea y, de esta forma, saber si el fichero se está ejecutando directamente o mediante wordpress.

Este problema lo reporté a security en wordpress.com el mismo día que hice la publicación pero no obtuve respuesta.

Ahora les mostraré los otros ficheros por los cuales es posible descubrir la ruta completa del sistema y las posibles soluciones que me han palnteado.

Seguir leyendo

Denial-of-Service (DoS) rápido y de una forma muy sencilla en WordPress

pwnpressjcarlosn ha descubierto una vulnerabilidad en el fichero wp-trackbacks.php de wordpress, la cual nos permitiría hacer un tipo de denegación de servicio (DoS) con unas cuantas peticiones y sin necesidad de botnets o maquinas zombies.
Como él mismo nos cuenta:

Este error, es explotable desde cualquier conexión a internet, y no requiere de ordenadores zombies, ni de nada, son sólo 20 peticiones a lo sumo, desde una línea ADSL convencional, para dejar K.O. a cualquier servidor que hospede un blog basado en wordpress.

El problema fue reportado a la seguridad en wordpress.com y no se obtuvo respuesta, luego se intentó comunicar con el creador de wordpress y al pasar un par de días, obtuvo una respuesta de que lo solucionarán en algún momento pero no de la forma que él proponia, sino que ellos mismos buscarán cómo hacerlo.
La misma persona que hizo público este bug, publicó un exploit y una posible solución.

Seguir leyendo

Vulnerabilidad en la mayoría de los plugins para WordPress

pwnpressHace un par de días, mientras hacia unas pruebas y revisaba unos sistemas descubrí una vulnerabilidad que afectaba a unos cuantos plugins de WordPress instalados.
Continuando mi investigación llegúe a la conclusión de que se trata de una vulnerabilidad Full Path Disclosure (FPD) que afecta a la mayoría de los plugins de WordPress, incluyendo al “Hello Dolly” y Akismet (plugins por defecto). Para explotar esta vulnerabilidad, no es necesario que el plugin esté activo, simplemente que esté instalado. Esta vulnerabilidad es debido a un problema o error a la hora de programar los plugins, al no validar la existencia de funciones antes de ejecutarlas el sistema devuelve un error fatal, mostrandonos la ruta completa de la instalación del CMS. Por ejemplo, en Akismet:

Fatal error: Call to undefined function add_action() in /home/XXYYZZ/public_html/wp-content/plugins/akismet/akismet.php on line 26

Hablando un poco sobre la vulnerabildiad FPD y recordando lo que dije en el post pasado, explotar esta vulnerabilidad no significa que podamos hacer grandes cosas, simplemente nos entregará información que podría ser utilizada para lo que uno estime conveniente.

Seguir leyendo

Drupal como Content Management Framework

drupalEstán muy de moda los CMS (Content Management System) tales como WordPress, Joomla y Jaws, entre otros, por la facilidad y extensibilidad que tienen mediante módulos, plugins, widgets, themes, templates, etc. Desde hace 8 meses mas o menos que estoy en un proyecto que involucra la creación de un sistema para una comunidad de cientificos, usando Drupal.

¿Por qué Drupal?

Drupal pretende ser mucho más que un gestor de contenidos, lo que busca ser es un gestor de comunidades, un framework para gestionar comunidades, lo que yo llamo CMF. Es extensible, permite la reutilización de código, utilización de templates/themes propios y muchas otras cosas.

¿Por qué NO WordPress, Joomla u otro CMS?

Un CMS, com su nombre lo dice, es un sistema gestor de contenidos, están más orientados a blogs o sitios que no implican una cantidad grande de usuarios y contenido y tipos de contenidos. Lo que yo necesitaba, era un framework para gestionar una comunidad.

¿Se entiende?

Seguir leyendo