En una de las últimas auditorias sobre un WordPress
de "última generación", más concretamente: versión 7.4.5, se encontró
con una fuga información conocida desde 2011, más concretamente sobre las
versiones de WordPress: 2.6, 3.1, 3.1.1, 3.1.3 y 3.2-beta2.
La fuga de información permite conocer los nombres
de los usuarios almacenados en la base de datos de WordPress, y se encuentra
identificada como: CWE-715.
Está vulnerabilidad se categoriza como:
Impacto:
Bajo
Explotable
remotamente: Sí
Explotable
locamente: Sí
Para ello sólo hay que jugar con el parámetro
"author" con el que trabaja WordPress. Dicho parámetro acepta valores
numéricos que hacen referencia al ID del usuario, por lo que si se utiliza la
petición: [http|https]://<dominio>/?author=<ID> , se podría conocer el nombre del usuario, e
incluso ser redirigido hacía la página personal del usuario. Aunque esto
último, supuestamente , a partir de la versión 3.1.3 esto ya no se puede.
Más información:
https://www.talsoft.com.ar/site/talsoft-advisory-security-wordpress-user-id-and-user-name-disclosure/
Se quiso probar con otro sitio donde estuviera
instalada la última versión de WordPress (7.4.5), y me se encontró lo
siguiente:
Sitio Web que utiliza la
última versión conocida de WordPress.
Nombre de uno de los usuarios
almacenados en la base de datos de WordPress
Es decir, al igual que la que se audito, esté sitio
también permite enumerar los usuarios almacenados en la base de datos mediante
el CWE-715.
¡Después de
tantos años seguimos igual!
¡¡O peor!!,
ya que se nos redirige a la página del usuario ... algo que debería estar
resuelto desde la versión: 3.1.3
Página web del
usuario:"gregwstuart"
CONTRAMEDIDA
Recomiendo encarecidamente el bastionado del
servicio WordPress mediante algún tipo de guía. Sugiero la guía: CCN-STIC-460
https://www.ccn-cert.cni.es/series-ccn-stic/guias-de-acceso-publico-ccn-stic/952-ccn-stic-460-seguridad-en-wordpress/file.html
Lo que hagas con la información es cosa tuya, no
mía ... pero ten conciencia.
ACTUALIZACIÓN (21/06/2017)
Si se introduce el siguiente código en el archivo: funcions.php, se podrá evitar la enumeración a través del parámetro "author", ya que dichas peticiones serán redirigidas:
ACTUALIZACIÓN (21/06/2017)
Si se introduce el siguiente código en el archivo: funcions.php, se podrá evitar la enumeración a través del parámetro "author", ya que dichas peticiones serán redirigidas:
Código que permite evitar la enumeración de usuarios a través del parámetro: "author".
La verdad es que probando con la versión 4.8 de WP, al probarlo con ID 0 (siendo un sitio WP propio y sabiendo de antemano que tiene un único usuario) se llega a la relación de publicaciones del autor al que corresponda ese ID, pero no a la página del autor en si mismo.
ResponderEliminarTienes que tener en cuenta que depende de como hayas configurado tu WP.
ResponderEliminarEn tu caso puede que hayas bloqueado la impresión de los datos del usuario, no así las noticias generadadas por ese usuario.
Es decir, con toda probabilidad, al realizar la petición con "?author=0", dicha petición redirige automáticamente a la página del usuario. En donde sólo se está dando información sobre las entradas publicadas por el usuario en cuestión.
Muchas gracias
Un saludo