Información Importante Sobre el Contenido
Estas accediendo al contenido antiguo del blog. Este artículo "Vulnerabilidad Cross-Site Scripting en Wordpress W3 Total Cache" es de dominio público y no será mantenido a futuro. Cualquier error o problema acerca del contenido por favor contactate conmigo desde la sección contacto.
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.
El plugin W3 Total Cache tiene una vulnerabilidad del tipo Cross-Site Scripting que permite obtener las credenciales de administrador.
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
https://labs/wordpress/wp-admin/admin.php?page=w3tc_support&request_type=bug_report&payment&url=http://example.com&name=test&email=test%gmail.com&twitter&phone&subject=test%22+a&description=test&forum_url&wp_login&wp_password&ftp_host&ftp_login&ftp_password&subscribe_releases&subscribe_customer&w3tc_error=support_request
Al ver el código fuente, existen algunos campos ocultos los cuales pueden ser manipulados
Si bien estas variables no estan seteadas mediante la URL, es posible forzarlas agregandolas, sin que sean validadas correctamente.
Por ejemplo:
https://labs/wordpress/wp-admin/admin.php?page=w3tc_support&request_type=bug_report&payment&url=http://example.com&name=test&email=test%gmail.com&twitter&phone&subject=test%22+a&description=test&forum_url&wp_login&wp_password&ftp_host&ftp_login&ftp_password&subscribe_releases&subscribe_customer&w3tc_error=support_request&request_id=PAYLOAD
Los parametros que aparecen como hidden no se validan correctamente permitiendo inyectar código javascript o bien html.
De esta forma, es posible explotar la vulnerabilidad inyectando el típico payload “><script>alert(/XSS/)</script>.
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).
Información Importante Sobre el Contenido
Estas accediendo al contenido antiguo del blog. Este artículo "Vulnerabilidad Cross-Site Scripting en Wordpress W3 Total Cache" es de dominio público y no será mantenido a futuro. Cualquier error o problema acerca del contenido por favor contactate conmigo desde la sección contacto.
septiembre 21, 2016 a las 4:03 pm
excelente aporte, muy preciso y claro
gracias por compartir el conocimiento
septiembre 22, 2016 a las 7:27 am
this is the fix https://github.com/szepeviktor/fix-w3tc/pull/81
septiembre 22, 2016 a las 2:10 pm
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?
septiembre 22, 2016 a las 6:15 pm
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.
septiembre 29, 2016 a las 2:18 am
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.
diciembre 27, 2016 a las 4:02 pm
jim walker : no need for admin role to use xss is dirty exploit you must update your plugin
diciembre 29, 2018 a las 11:23 am
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/
mayo 6, 2019 a las 10:43 am
Good post
diciembre 17, 2020 a las 7:49 am
Wow, Thats professional knowledge shared via blog.
Thanks & cheers!
“Best mobile app development service in chennai
Best ERP software solutions in chennai
Digital Marketing Agency in Chennai
Best web development company in chennai“