martes, 17 de agosto de 2010

WebGuestHotel, gestión de reservas online

WebGuestHotel es una solución desarrollada por la empresa Vector-K S.A. para la gestión online de reservas en casi 200 hoteles españoles.

Hace unos días, buscando un hotel, me encontré con su módulo de reservas (WebGuestHotel) y la verdad es que me parecio bastante "fragil" ya que la simple modificación de uno de los parámetros de entrada produce un error que nos muestra demasiada información.

Por ejemplo, el hotel Tres Torres de Ibiza es uno de los que utilizan este módulo de reservas.


Al pulsar en "Ver Tarifas y Reservas" se abre una nueva ventana con el módulo en cuestión donde se permite seleccionar el tipo de habitación, el número de personas, etc.


Y si se modifica uno de los parámetros de la url y se añade una comilla simple, =193' se obtiene el siguiente mensaje de error:


Este tipo de errores muestran información muy util para todos aquellos que quieran "fisgonear" en la web, por ejemplo, se puede ver que la solución esta desarrollada en .NET (VB/ASP) y que se accede a un servidor de datos SQL Server. También se aprecia la ruta completa del fichero que ha producido el error (full path disclosure) y, lo más grave, se puede ver que la consulta SQL se ejecuta sin realizar la validación de los parámetros de entrada lo que supone que se puede realizar inyección SQL sobre la misma pero, tal vez, lo más grave aún es que el usuario de base de datos utilizado tiene permiso para ejecutar el procedimiento extendido xp_cmdshell lo cual permite tener acceso total al servidor ya que disponemos de una shell completa, por ejemplo, la siguiente URL

http://www.vectork.net/webguest/xxxxxx/yyyyyyy.aspx?hotel=193;exec master..xp_cmdshell "dir C:\>C:\Http\WEB_VK\webguest\xxxxxxx\resultadoshell.txt"


pese a que muestra un error "Illegal characters in path." se ejecuta correctamente y crea el fichero resultadoshell.txt en una carpeta accesible via web (conocida gracias al full path disclosure visto anteriormente)


Esta claro que este tipo de errores suponen un grave peligro no solo para los usuarios que realizan las reservas sino también para los propios clientes (los hoteles) y, por supuesto, la propia empresa Vector-K ya que es posible modificar la información del servidor, modificar el comportamiento de Windows, crear páginas falsas, acceder al código fuente de WebGuestHotel y muchas cosas más.

Como es de suponer antes de publicar este post me puse en contacto con la empresa la cual solucionó el problema de inmediato y se interesó en todo momento por el estado de seguridad de la web. Debo agradecer su buen hacer a la gente de Vector-K así como sus comentarios y la velocidad de respuesta.

No hay comentarios:

Publicar un comentario