Vulnerabilidad Cross-Site Scripting en Wordpress W3 Total Cache

Vulnerabilidad Cross-Site Scripting en Wordpress W3 Total Cache

W3 Total Cache es un plugin para Wordpress que se encuentra instalado en más de 1 millón de sistemas a nivel mundial. Actualmente se encuentra en la versión 0.9.4.1 y su última actualización fue hace 6 meses.

w3totalcache_xss

El plugin W3 Total Cache tiene una vulnerabilidad del tipo Cross-Site Scripting que permite obtener las credenciales de administrador.

··· Leer más ···

Para poder explotar la vulnerabilidad el administrador o un usuario con los permisos suficientes debe tener una sesión activa, el problema se encuentra en la sección "Support". Al momento de generar un ticket de soporte, el sistema muestra un formulario en el cual le asigna un "ID" como campo oculto. Este valor puede ser sobreescrito seteando el valor vía GET.

Por ejemplo, al completar el formulario para reportar un bug, el sistema envia la siguiente petición

PRE0

Al ver el código fuente, existen algunos campos ocultos los cuales pueden ser manipulados

w3totalcache_sc01

Si bien estas variables no estan seteadas mediante la URL, es posible forzarlas agregandolas, sin que sean validadas correctamente.

Por ejemplo:

PRE1

Los parametros que aparecen como hidden no se validan correctamente permitiendo inyectar código javascript o bien html.

w3totalcache_sc02

De esta forma, es posible explotar la vulnerabilidad inyectando el típico payload "><script>alert(/XSS/)</script>.

w3totalcache_xss02

Los requisitos para poder explotar la vulnerabilidad es que un usuario tenga una sesión activa, haciendo más atractivo su explotación, ya que permite robar las cookies de la sesión activa e iniciar sesión desde otro navegador sin ningun problema, siempre y cuando las cookies permitan ser accedidas mediante una función javascript (httponly off).

Comentarios (9)

rodrigo aranguiz lorca
excelente aporte, muy preciso y claro
gracias por compartir el conocimiento
cesco69
this is the fix https://github.com/szepeviktor/fix-w3tc/pull/81
Jim Walker
Please clarify.
From your article you are stating that the user must be an administrator in order for this exploit to be taken advantage of?


Por favor, aclarar.
Desde su artículo usted está indicando que el usuario debe ser un administrador para que esta vulnerabilidad para ser aprovechado?
Zerial
Hi Jim,
Only works for authenticated users and and need to have permissions tu access W3 Total Cache Support Menu of left sidebar on WP Admin Panel.
pallavikarthi
I do believe all of the concepts of W3 Total Cache you’ve introduced in your post. They’re very convincing and will definitely work. Nonetheless, the posts are too short for novices.
mouad
jim walker : no need for admin role to use xss is dirty exploit you must update your plugin
Alex Morco
Gracias por compartir esta increíble guía, aquí hay otro artículo que me ayudó a configurar el complemento de caché total de w3: https://www.cloudways.com/blog/how-to-use-w3-total-cache-wordpress/
Diseño web
Good post
kristi clover
Wow, Thats professional knowledge shared via blog.
Thanks &amp; cheers!

"<a>Best mobile app development service in chennai</a>
<a>Best ERP software solutions in chennai</a>
<a>Digital Marketing Agency in Chennai</a>
<a>Best web development company in chennai</a>"

Deja un comentario