Esta vez la vulnerabilidad afecta al sitio de Servipag Empresas, permitiendo realizar ataques del tipo CSRF+XSS, es decir, incrustar código html/javascript y realizar peticiones desde sitios remotos. La vulnerabilidad se encuentra en el formulario para iniciar sesión que al momento de realizar la validación, si el usuario o clave no existen o están incorrectos, muestra una alerta al usuario
El formulario de login envia un POST a servipagempresas.cl/Servipag/SES_ControlAcceso.asp pasando las variables ACC=ND&IdColumna=&IdComunidad=2&IdNoticia=&LoginEmpresa=empresa_prueba&login=empresa_prueba&password=1, cuando se envian datos incorrectos, SES_ControlAcceso.asp nos devuelve a la URL servipagempresas.cl/Servipag/acceso.asp pasando por GET el mensaje de error, el cual podemos manipular.
El mensaje lo entrega mediante la variable msgx10987654 (ni idea que significa ese número). Si envíamos mediante POST el mensaje “mensaje de error de pruebas” podemos ver que el mensaje de error es manipulable de una manera demasiado sencilla:
Y en el código fuente aparece lo siguiente:
Lo único que debemos hacer para insertar código html/javascript a nuestro antojo, es manipular el mensaje de error de forma tal que cerremos el alert y cerremos el tag <script>, por ejemplo con el siguiente string:
test\”)//</script><STRONG>SERVIPWNED </strong><script>
El código html quedaría así:
Y por navegador podemos ver
De esta forma podemos inyectar código html/javascript arbitrariamente y perfectamente podríamos usar este bug para robar datos de sesión y algún otro tipo de información de los usuarios.
Esta vulnerabilidad ha sido reportada y corregida.
Esta vulnerabilidad suma a la reportada en Secureless por un colaborador que afectaba a Servipag Express.