Re: Mot de passe en clair mais caché sur la ligne de command…

Top Page

Reply to this message
Author: Xavier Bestel
Date:  
To: Patrice Karatchentzeff
CC: ML Guilde
Subject: Re: Mot de passe en clair mais caché sur la ligne de commande
On Mon, 2007-06-18 at 16:48 +0200, Patrice Karatchentzeff wrote:
> Salut,
>
> J'ai un truc rigolo...
>
> Je lance un
>
> $ ssh user@machine "mysqldump -u user --password='motdepasse' mabase"
> > mabase.sql
>
> sur une machine lambda.
>
> Si je fais un ps pendant le dump sur la machine machine :
>
> j'ai un --password=x xxxx qui apparait...
>
> Bon, c'est très plaisant... mais je ne m'explique d'où ça vient...
>
> ps ? ssh ? mysql ?


C'est bien mysql:
apt-get source mysql-client-5.1
cd mysql-dfsg-5.1-5.1.19beta
vi client/mysqlshow.c

static my_bool
get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
               char *argument)
{
  switch(optid) {
#ifdef __NETWARE__
  case OPT_AUTO_CLOSE:
    setscreenmode(SCR_AUTOCLOSE_ON_EXIT);
    break;
#endif
  case 'v':
    opt_verbose++;
    break;
  case 'p':
    if (argument)
    {
      char *start=argument;
      my_free(opt_password,MYF(MY_ALLOW_ZERO_PTR));
      opt_password=my_strdup(argument,MYF(MY_FAE));
      while (*argument) *argument++= 'x';               /* Destroy argument */
      if (*start)
        start[1]=0;                             /* Cut length of argument */
      tty_password= 0;
    }
    else
      tty_password=1;
    break;



Voilà. Si l'argument est le mot de passe, il va directement écrire dans
argv[] des 'x' à la place.

    Xav


PS: Patrice, tu aurais pu trouver ça tout seul. Feignasse :)