Hi!

On Aug 10, Carsten H. Pedersen wrote:
> > http://www.mysql.com/doc/U/s/User_names.html
> > says:
> >  >>>
> > MySQL encrypts passwords using a different algorithm than the one used
> > during the Unix login process. See the descriptions of the PASSWORD() and
> >       ENCRYPT() functions in section 6.4.12 Miscellaneous Functions. Note
> > that even if the password is stored 'scrambled', and knowing your
> > 'scrambled'
> >       password is enough to be able to connect to the MySQL server!
> >  >>>
> >
> > How is that possible?  Even if you do know someone's scrambled password,
> > when you connect to the MySQL server pretending to be that user, it will
> > ask you for their non-scrambled password.  After you type it in,
> > the server
> > will scramble it and check that the scrambled value matches the scrambled
> > value stored in the database -- but you can't intercept that part of the
> > process and insert the "known scrambled" password to be checked.
> >
> >     -Bennett
> 
> The manual certainly *does* need a clean-up on this.
> 
> ---
> 4.3.6 Setting Up Passwords:
> ...When the user jeffrey attempts to connect to the
> server using this password, the mysql client encrypts
> it with PASSWORD() and sends the result to the server.
> The server compares the value in the user table...
> ---
> 
> Which would explain why knowing the encrypted password
> is enough to gain access to the server (you would, of
> course, need to write your own version of the mysql
> where you skip the PASSWORD call).
> 
> However,
> 
> ---
> 4.2.8 Access Control, Stage 1: Connection Verification
> ...The encrypted password is then used when the client/server
> is checking if the password is correct (This is done without
> the encrypted password ever traveling over the connection.) ...
> ---
> 
> These two statements surely contradict each other.
> 
> / Carsten
> --
> Carsten H. Pedersen
> keeper and maintainer of the bitbybit.dk MySQL FAQ
> http://www.bitbybit.dk/mysqlfaq

Thanks, for pointing this out.
Of course, the second statement is correct - MySQL authentification
protocol is designed to never send anything reusable (e.g. password)
over the wire.
We will fix the manual.

Regards,
Sergei

-- 
MySQL Development Team
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Sergei Golubchik <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Osnabrueck, Germany
       <___/

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to