Domanda

Affrontare uno strano scenario qui.

Utilizziamo un'applicazione proprietaria per la gestione delle workstation che utilizza mySQL per archiviare i suoi dati. All'interno dell'applicazione forniscono un numero di report, come ad esempio l'utente che ha effettuato il login in quale macchina a che ora, tutti i prodotti software installati sui computer monitorati, ecc. E così via. Stiamo cercando di creare una serie diversa di rapporti, tuttavia non supportano i rapporti personalizzati.

Dato che i loro dati vengono archiviati in mySQL, mi accorgo di poter fare manualmente i rapporti. Non ho credenziali valide per connettermi al server mySQL. Esiste comunque un modo per creare un account utente nel server mySQL? Non voglio reimpostare la password di root o qualsiasi altro account che potrebbe essere presente, poiché potrebbe interrompere l'applicazione.


Ho pieno accesso al server Windows 2003. Posso interrompere e riavviare i servizi, incluso il server mySQL. Al server mySQL effettivo, ho solo l'accesso di base tramite la GUI fornita dal software. Non riesco a collegarmi direttamente tramite l'interfaccia della riga di comando o tramite un altro strumento (a causa della mancanza di credenziali).


Mi scuso se è venuto fuori come se stessi cercando di ottenere un accesso non autorizzato al server mySQL. Ho contattato la società di software e ad oggi sono passate due settimane senza una loro risposta. Devo arrivare ai dati. Ho pieno accesso alla scatola fisica, ho i privilegi di amministratore su di essa.

È stato utile?

Soluzione

Ti consigliamo di utilizzare il processo di recupero della password MySQL. Segui queste istruzioni , tranne sostituire la query di reimpostazione della password con una query per aggiungere un nuovo utente . La nuova query utente sarebbe simile a:

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

Ciò creerà un nuovo utente " myuser " con la password "mypassword", che può accedere a MySQL tramite l'interfaccia della riga di comando del sistema locale. È quindi possibile utilizzare la GUI dell'amministratore di MySQL ( scaricare qui ) e aggiornare autorizzazioni utente in modo da poter accedere da altri sistemi sulla rete. Oppure usa la GRANT statement dalla CLI, se è più il tuo stile.

Altri suggerimenti

Hai accesso al server MySQL in questione?

Come in, che accesso hai oltre a quello che farebbe un utente normale? Dovresti provare a seguire questi percorsi prima di " hack " la tua strada lì dentro, dal momento che questo potrebbe o non essere fattibile con quel software.

è probabile che ci siano dei trigger sul lato del database che mantengono un registro, quindi quando ti hackeri nel database sapranno quando e come lo hai fatto. Non è una buona idea.

Suppongo che davvero non dovrei rispondere a questo, ma è semplicemente troppo divertente.

Guarda Questa pagina sulle iniezioni di SQL. Questo dovrebbe coprire le tue esigenze. Questa pagina mostra come aggiungere account utente a mySQL

Proverei a inserire quanto segue nei campi di input utente casuali:

p'; INSERT INTO user VALUES

( 'localhost', 'myNewAdmin', PASSWORD ( 'some_pass'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y ', 'Y');

e poi

p'; FLUSH PRIVILEGES;

p '; è destinato a chiudere la domanda normale. per esempio - La domanda normale è:

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

diventa

    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 che viene in mente è annusare la comunicazione del database e sperare che non sia crittografata. Se è crittografato, prova a modificare la configurazione per non utilizzare SSL e riavvia mysql. Un buon sniffer che utilizzo è Wireshark

Da mysql 5.0 documentazione :

  

MySQL supporta sicuro (crittografato)   connessioni tra client MySQL e   il server utilizzando Secure Socket   Protocollo di livello (SSL). Questa sezione   discute come utilizzare le connessioni SSL.   Descrive anche un modo per impostare SSH   Su Windows. Per informazioni su come   richiedere agli utenti di utilizzare connessioni SSL,   vedi la discussione del REQUIRE   clausola della dichiarazione GRANT in   Sezione 12.5.1.3, "Sintassi GRANT".

     

La configurazione standard di MySQL è   inteso per essere il più veloce possibile, quindi   le connessioni crittografate non sono utilizzate da   predefinito. In questo modo renderebbe il   protocollo client / server molto più lento.   La crittografia dei dati richiede molta CPU   operazione che richiede il computer   per fare un lavoro aggiuntivo e può ritardare   altre attività MySQL. Per applicazioni   che richiedono la sicurezza fornita da   connessioni crittografate, extra   il calcolo è garantito.

     

MySQL consente di abilitare la crittografia   in base alla connessione. Puoi   scegli una normale connessione non crittografata   o una connessione SSL crittografata sicura   secondo i requisiti di   singole applicazioni.

     

Le connessioni sicure si basano sul   API OpenSSL e sono disponibili tramite   l'API MySQL C. La replica utilizza il   API C, quindi possono esserci connessioni sicure   utilizzato tra server master e slave.

Probabilmente l'hai già fatto ma ancora - prova a cercare nei file di configurazione delle applicazioni. Se non c'è niente - prova a cercare tra gli eseguibili / il codice sorgente - forse è in chiaro se sei fortunato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top