以163为例子,首先登录163的ssl服务器
1 | openssl s_client -connect smtp.163.com:465 |
然后返回一堆东西
1 | CONNECTED(00000005) |
输入
1
EHLO smtp.163.com
返回
1
2
3
4
5
6
7
8 250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFT7yzwUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
输入
1
AUTH LOGIN
返回
1
334 dXNlcm5hbWU6
这个是base64编码,ctrl+z挂起当前进程,使用openssl命令可以解码,由于openssl只能操作文件,因此要从命令行输入只能使用管道运算符。
1
echo dXNlcm5hbWU6| openssl base64 -d
返回
1
username:
意思就是让你输入用户名,当然你用户名也必须用base64输入,所以你得用base64编码一下:
1
echo [email protected]| openssl base64 -e
返回
1
bXllbWFpbEBkb21haW4uY29tCg==
然后使用‘fg’命令切换回之前的进程
把这个用户名输入,返回
1
334 UGFzc3dvcmQ6
同理解码之后知道是输入密码的意思,然后和前面的方法一样把密码通过base64编码之后再发过去即可。
说些什么吧!