Home > Uncategorized > Как работают авторизации AUTH PLAIN и AUTH LOGIN

Как работают авторизации AUTH PLAIN и AUTH LOGIN

March 10th, 2009 Leave a comment Go to comments

AUTH PLAIN:

1
2
3
4
5
6
7
8
9
10
#!/usr/local/bin/expect -f 
set host case.net.ru
spawn telnet "$host" 25
expect "220 case.net.ru ESMTP Postfix"
send "EHLO localhost\r"
expect "250-case.net.ru"
send "AUTH PLAIN AHRlc3RAY2FzZS5uZXQucnUAMTIzNDU2\r"
expect "235 2.7.0 Authentication successful"
send "QUIT\r"
interact

Где 7 строка – это авторизация в формате base64, полученная одним из следующих способов:

1
2
3
4
$ perl -MMIME::Base64 -e 'print encode_base64("\000test\@case.net.ru\000123456");'
AHRlc3RAY2FzZS5uZXQucnUAMTIzNDU2
$ php -r 'echo base64_encode("\000test@case.net.ru\000123456");'
AHRlc3RAY2FzZS5uZXQucnUAMTIzNDU2

AUTH LOGIN:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/local/bin/expect -f 
set host case.net.ru
spawn telnet "$host" 25
expect "220 case.net.ru ESMTP Postfix"
send "EHLO localhost\r"
expect "250-case.net.ru"
send "AUTH LOGIN\r"
expect "334 VXNlcm5hbWU6"
send "dGVzdEBjYXNlLm5ldC5ydQ==\r"
expect "334 UGFzc3dvcmQ6"
send "MTIzNDU2\r"
expect "235 2.7.0 Authentication successful"
send "QUIT\r"
interact

Где строки:
08 – Username:
09 – Имя пользователя в base64
10 – Password:
11 – Пароль в base64
Имя пользователя и пароль получаем следующим образом:

1
2
3
4
$ php -r 'echo base64_encode("test@case.net.ru");'
dGVzdEBjYXNlLm5ldC5ydQ==
$ php -r 'echo base64_encode("123456");'
MTIzNDU2
Tags:
  1. No comments yet.
  1. No trackbacks yet.