CVE-2021-46075
Título del Exploit: Vehicle Service Management System - 'Multiple' Escalada de Privilegios Conduce a Operaciones CRUD
Autor del Exploit: SANU P.L
CVE: CVE-2021-46075
CVSS: 7.2 ALTA
Referencias:
Descripción:
Existe una vulnerabilidad de escalada de privilegios en Sourcecodester Vehicle Service Management System 1.0. Los usuarios con cuenta de personal pueden acceder a los recursos de administrador y realizar operaciones CRUD.
1. Vehicle Service Management System - 'Lista de Usuarios' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de Administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de Personal en el Navegador B (Firefox)
- En la cuenta de Administrador (Chrome) navegue a la sección Lista de Usuarios y haga clic en el botón Crear Nuevo.
- Copie el enlace de Crear Nuevo Usuario http://localhost/vehicle_service/admin/?page=user/manage_user
- En la cuenta de Personal (Firefox) no hay sección Lista de Usuarios porque la Cuenta de Personal no tiene los derechos para crear un usuario.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página de Crear Usuario.
- Ingrese los detalles requeridos y haga clic en el botón Guardar.
- En la cuenta de Administrador (Chrome) navegue a la sección Lista de Usuarios http://localhost/vehicle_service/admin/?page=user/list
- El nuevo usuario se ha creado exitosamente.
- La cuenta de Personal puede acceder a la página Lista de Usuarios y a la página Crear Usuario.
- La cuenta de Personal puede Crear, Leer, Actualizar y Eliminar los usuarios.
2. Vehicle Service Management System - 'Lista de Categorías' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de Administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de Personal en el Navegador B (Firefox)
- En la cuenta de Administrador (Chrome) navegue a la sección Lista de Categorías y haga clic en el botón Crear Nuevo.
- Copie el enlace de Crear Nueva Categoría http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- En la cuenta de Personal (Firefox) no hay sección Lista de Categorías porque la Cuenta de Personal no tiene los derechos para crear una Categoría.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página de Crear Categoría.
- Ingrese los detalles requeridos y haga clic en el botón Guardar.
- En la cuenta de Administrador (Chrome) navegue a la sección Lista de Categorías http://localhost/vehicle_service/admin/?page=maintenance/category
- La nueva categoría se ha creado exitosamente.
- La cuenta de Personal puede acceder a la página Lista de Categorías y a la página Crear Categoría.
- La cuenta de Personal puede Crear, Leer, Actualizar y Eliminar la Categoría.
3. Vehicle Service Management System - 'Lista de Servicios' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de Administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de Personal en el Navegador B (Firefox)
- En la cuenta de Administrador (Chrome) navegue a la sección Lista de Servicios y haga clic en el botón Crear Nuevo.
- Copie el enlace de Crear Nuevo Servicio http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- En la cuenta de Personal (Firefox) no hay sección Lista de Servicios porque la Cuenta de Personal no tiene los derechos para crear un Servicio.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página de Crear Servicio.
- Ingrese los detalles requeridos y haga clic en el botón Guardar.
- En la cuenta de Administrador (Chrome) navegue a la sección Lista de Servicios http://localhost/vehicle_service/admin/?page=maintenance/services
- El nuevo Servicio se ha creado exitosamente.
- La cuenta de Personal puede acceder a la página Lista de Servicios y a la página Crear Servicio.
- La cuenta de Personal puede Crear, Leer, Actualizar y Eliminar el Servicio.
4. Vehicle Service Management System - 'Configuración' (/admin/?page=system_info)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Inicie sesión con la cuenta de Administrador en el Navegador A (Chrome)
- Inicie sesión con la cuenta de Personal en el Navegador B (Firefox)
- En la cuenta de Administrador (Chrome) navegue a la sección Configuración.
- Copie el enlace de la sección Configuración http://localhost/vehicle_service/admin/?page=system_info
- En la cuenta de Personal (Firefox) no hay sección Configuración porque la Cuenta de Personal no tiene los derechos para acceder a la Configuración.
- Pegue el enlace copiado en el Navegador B (Firefox)
- Ahora podemos acceder a la página de Configuración.
- Ingrese los detalles requeridos y haga clic en el botón Guardar.
- En la cuenta de Administrador (Chrome) navegue a la sección Configuración http://localhost/vehicle_service/admin/?page=system_info
- Los detalles se han actualizado exitosamente.
- La cuenta de Personal puede acceder a la página de Configuración.
- La cuenta de Personal puede Actualizar la Configuración.
Impacto:
Un atacante remoto obtiene acceso elevado a recursos que normalmente deberían estar no disponibles. Los usuarios con cuenta de personal pueden acceder a los recursos de administrador y realizar operaciones CRUD.
Mitigación:
Se recomienda implementar lo siguiente:
- Gestión adecuada de cuentas con privilegios
- Monitorear y gestionar todas las sesiones privilegiadas
- Políticas de contraseñas seguras y su aplicación
- Sanitizar las entradas de usuario y asegurar las bases de datos