Pregunta

Abordando un escenario extraño aquí.

Utilizamos una aplicación patentada de gestión de estaciones de trabajo que utiliza MySQL para almacenar sus datos.Dentro de la aplicación, proporcionan una cantidad de informes, como qué usuario inició sesión en qué máquina y en qué momento, todos los productos de software instalados en las máquinas monitoreadas, etc.Estamos buscando crear un conjunto diferente de informes; sin embargo, no admiten informes personalizados.

Dado que sus datos se almacenan en MySQL, supongo que puedo realizar los informes manualmente.Sin embargo, no tengo credenciales válidas para conectarme al servidor MySQL. ¿Existe alguna forma de crear una cuenta de usuario en el servidor MySQL? No quiero restablecer la contraseña de root ni ninguna cuenta que pueda estar allí, ya que podría dañar la aplicación.


Tengo acceso completo al servidor Windows 2003.Puedo detener y reiniciar servicios, incluido el servidor MySQL.Al servidor MySQL real, solo tengo acceso básico a través de la GUI proporcionada por el software.No puedo conectarme directamente a través de CLI o mediante otra herramienta (debido a la falta de credenciales).


Pido disculpas si parece que estoy intentando obtener acceso no autorizado al servidor MySQL.Me puse en contacto con la empresa de software y hasta hoy han pasado dos semanas sin respuesta de su parte.Necesito llegar a los datos.Tengo acceso completo a la caja física, tengo privilegios de administrador sobre ella.

¿Fue útil?

Solución

Querrá utilizar el proceso de recuperación de contraseña de MySQL.Seguir estas instrucciones, excepto reemplazar la consulta de restablecimiento de contraseña con una consulta a agregar un nuevo usuario.La consulta del nuevo usuario sería algo como:

GRANT ALL ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Eso creará un nuevo usuario "myuser" con la contraseña "mypassword", que podrá iniciar sesión en MySQL a través de la CLI del sistema local.Luego puede utilizar la GUI del administrador de MySQL (descarga aquí) y actualizar los permisos de usuario para que pueda iniciar sesión desde otros sistemas en la red.O usar el GRANT declaración desde la CLI, si ese es más tu estilo.

Otros consejos

¿Tiene acceso al servidor MySQL en cuestión?

Es decir, ¿qué acceso tienes más allá del que tendría un usuario normal?Debería intentar seguir esas rutas antes de "piratear" su camino, ya que eso puede ser factible o no con ese software.

Lo más probable es que haya desencadenantes en el lado de la base de datos que mantengan un registro para que cuando ingrese a la base de datos, sepan cuándo y cómo lo hizo.No es Buena idea.

Supongo que realmente no debería responder a esta pregunta, pero es demasiado divertida.

Mira a Este página sobre inyecciones SQL.Eso debería cubrir tus necesidades.Este La página muestra cómo agregar cuentas de usuario a MySQL.

Intentaría ingresar lo siguiente en campos de entrada aleatorios del usuario:

p'; INSERT INTO user VALUES

('localhost', 'mynewadmin', contraseña ('some_pass'), 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y Y ',' Y ',' y ',' y ',' y ',' y ');

y luego

p'; FLUSH PRIVILEGES;

pag';tiene como objetivo cerrar la pregunta habitual.Por ejemplo, la pregunta normal es:

"Select Adress from cusomers where custName = ' + $INPUT + ';

se convierte

    Select Adress from cusomers where custName = 'p'; INSERT INTO user 
VALUES('localhost','myNewAdmin',PASSWORD('some_pass'), 
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); 

Una cosa que me viene a la mente es olfatear la comunicación de la base de datos y esperar que no esté cifrada.Si está cifrado intente cambiar la configuración para no usar SSL y reinicie mysql.Un buen sniffer que uso es Wireshark

De documentación de mysql 5.0:

MySQL admite conexiones seguras (encriptadas) entre los clientes MySQL y el servidor utilizando el protocolo de la capa Secure Sockets (SSL).Esta sección analiza cómo usar las conexiones SSL.También describe una forma de configurar SSH en Windows.Para obtener información sobre cómo exigir a los usuarios que usen conexiones SSL, consulte la discusión de la cláusula Requerir de la Declaración de subvención en la Sección 12.5.1.3, "Sintaxis de subvención".

La configuración estándar de MySQL está destinada a ser lo más rápida posible, por lo que las conexiones cifradas no se usan de forma predeterminada.Hacerlo haría que el protocolo del cliente/servidor sea mucho más lento.Cifrar datos es una operación intensiva de CPU que requiere que la computadora realice un trabajo adicional y puede retrasar otras tareas de MySQL.Para las aplicaciones que requieren la seguridad proporcionada por las conexiones cifradas, se justifica el cálculo adicional.

MySQL permite que el cifrado se habilite por conexión por conexión.Puede elegir una conexión normal no cifrada o una conexión SSL cifrada segura según los requisitos de las aplicaciones individuales.

Las conexiones seguras se basan en la API OPENSSL y están disponibles a través de la API MySQL C.La replicación utiliza la API C, por lo que se pueden usar conexiones seguras entre los servidores maestro y esclavo.

Probablemente ya lo hayas hecho, pero aun así intenta buscar en los archivos de configuración de la aplicación.Si no hay nada, intente buscar en los ejecutables/código fuente; tal vez esté en texto plano si tiene suerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top