CVE-2021-46080
Exploit Title: Vehicle Service Management System - 'Múltiples' vulnerabilidades de Cross-Site Request Forgery (CSRF) conducen a Cross Site Scripting Almacenado (XSS)
CVE: CVE-2021-46080
References:
Description:
Existe una vulnerabilidad de Cross Site Request Forgery (CSRF) en Vehicle Service Management System 1.0. Un ataque CSRF exitoso conduce a una vulnerabilidad de Cross Site Scripting Almacenado.
1. Vehicle Service Management System - 'Mechanic List' (/admin/?page=mechanics)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Cree dos cuentas de administrador.
- Inicie sesión con la cuenta Admin-1 en el Navegador A (Chrome)
- Inicie sesión con la cuenta Admin-2 en el Navegador B (Firefox)
- En la cuenta Admin-1 (Chrome), navegue a la sección Mechanic List y haga clic en el botón Create New.
- Inyecte el siguiente payload en el campo de entrada Full Name.
Payload:
"><script>alert(document.cookie)</script>
- Haga clic en el botón Save.
- Capture la solicitud en burpsuite y genere el archivo HTML de CSRF.
- Guarde el archivo HTML de CSRF, por ejemplo: CSRF.html
- En el Navegador B (Firefox), abra el archivo CSRF.html.
- Navegue a la sección Mechanic List en el Navegador B (Firefox).
- Se activa el código JavaScript malicioso.
2. Vehicle Service Management System - 'Service Requests' (/admin/?page=service_requests)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Cree dos cuentas de administrador.
- Inicie sesión con la cuenta Admin-1 en el Navegador A (Chrome)
- Inicie sesión con la cuenta Admin-2 en el Navegador B (Firefox)
- En la cuenta Admin-1 (Chrome), navegue a la sección Service Requests y haga clic en el botón Create New.
- Inyecte el siguiente payload en el campo de entrada Owner Contact.
Payload:
"><script>alert(document.cookie)</script>
- Haga clic en el botón Save Request.
- Capture la solicitud en burpsuite y genere el archivo HTML de CSRF.
- Guarde el archivo HTML de CSRF, por ejemplo: CSRF.html
- En el Navegador B (Firefox), abra el archivo CSRF.html.
- Navegue a la sección Service Requests en el Navegador B (Firefox).
- Seleccione las Service Requests recién creadas y haga clic en Action bajo View.
- Se activa el código JavaScript malicioso.
3. Vehicle Service Management System - 'Category List' (/admin/?page=maintenance/category)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Cree dos cuentas de administrador.
- Inicie sesión con la cuenta Admin-1 en el Navegador A (Chrome)
- Inicie sesión con la cuenta Admin-2 en el Navegador B (Firefox)
- En la cuenta Admin-1 (Chrome), navegue a la sección Category List y haga clic en el botón Create New.
- Inyecte el siguiente payload en el campo de entrada Category Name.
Payload:
"><script>alert(document.cookie)</script>
- Haga clic en el botón Save.
- Capture la solicitud en burpsuite y genere el archivo HTML de CSRF.
- Guarde el archivo HTML de CSRF, por ejemplo: CSRF.html
- En el Navegador B (Firefox), abra el archivo CSRF.html.
- Navegue a la sección Category List en el Navegador B (Firefox).
- Se activa el código JavaScript malicioso.
4. Vehicle Service Management System - 'Service List' (/admin/?page=maintenance/services)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Cree dos cuentas de administrador.
- Inicie sesión con la cuenta Admin-1 en el Navegador A (Chrome)
- Inicie sesión con la cuenta Admin-2 en el Navegador B (Firefox)
- En la cuenta Admin-1 (Chrome), navegue a la sección Service List y haga clic en el botón Create New.
- Inyecte el siguiente payload en el campo de entrada Service Name.
Payload:
"><script>alert(document.cookie)</script>
- Haga clic en el botón Save.
- Capture la solicitud en burpsuite y genere el archivo HTML de CSRF.
- Guarde el archivo HTML de CSRF, por ejemplo: CSRF.html
- En el Navegador B (Firefox), abra el archivo CSRF.html.
- Navegue a la sección Service List en el Navegador B (Firefox).
- Se activa el código JavaScript malicioso.
5. Vehicle Service Management System - 'User List' (/admin/?page=user/list)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Cree dos cuentas de administrador.
- Inicie sesión con la cuenta Admin-1 en el Navegador A (Chrome)
- Inicie sesión con la cuenta Admin-2 en el Navegador B (Firefox)
- En la cuenta Admin-1 (Chrome), navegue a la sección User List y haga clic en el botón Create New.
- Inyecte el siguiente payload en el campo de entrada First Name.
Payload:
"><script>alert(document.cookie)</script>
- Haga clic en el botón Save.
- Capture la solicitud en burpsuite y genere el archivo HTML de CSRF.
- Guarde el archivo HTML de CSRF, por ejemplo: CSRF.html
- En el Navegador B (Firefox), abra el archivo CSRF.html.
- Navegue a la sección User List en el Navegador B (Firefox).
- Se activa el código JavaScript malicioso.
6. Vehicle Service Management System - 'Settings' (/admin/?page=system_info)
Exploit:
- Visite el panel de administración http://localhost/vehicle_service/admin
- Cree dos cuentas de administrador.
- Inicie sesión con la cuenta Admin-1 en el Navegador A (Chrome)
- Inicie sesión con la cuenta Admin-2 en el Navegador B (Firefox)
- En la cuenta Admin-1 (Chrome), navegue a la sección Settings.
- Inyecte el siguiente payload en el campo de entrada System Name.
Payload:
"><script>alert(document.cookie)</script>
- Haga clic en el botón Update.
- Capture la solicitud en burpsuite y genere el archivo HTML de CSRF.
- Guarde el archivo HTML de CSRF, por ejemplo: CSRF.html
- En el Navegador B (Firefox), abra el archivo CSRF.html.
- Navegue a la sección Settings en el Navegador B (Firefox).
- Se activa el código JavaScript malicioso.
Impacto:
Existe una vulnerabilidad de Cross-Site Request Forgery en múltiples endpoints que conduce a una vulnerabilidad de Cross Site Scripting Almacenado.
Mitigación:
Se recomienda implementar lo siguiente:
- Impredecible con alta entropía, como en el caso de los tokens de sesión en general.
- Vinculado a la sesión del usuario.
- Validado estrictamente en cada caso antes de que se ejecute la acción correspondiente.