Wednesday, December 5, 2007

SMTP LOGIN command

ที่เคย note เอาไว้นานแล้ว เรื่อง SMTP command หาดูได้ Labal เดียวกัน

ครั้งที่แล้วเขียนวิธี authen ไว้แค่แบบเดียวคือ แบบ PLAIN ซึ่งตอนที่เขียนโปรแกรม Bruter ก็พบว่า ถ้าเป็น SMTP server ของ Microsoft นั้นจะไม่มีแบบ PLAIN จะมีเฉพาะ LOGIN method

ก็มา note เพิ่มละกัน เกี่ยวกับ LOGIN method

ก่อนอื่นเราต้องทำ base64 encoding เหมือนกัน แต่คราวนี้ทำแยก username กับ password
ทำ username
base64.encodestring('user@domain.ext') เป็น dXNlckBkb21haW4uZXh0
base64.encodestring('password') เป็น cGFzc3dvcmQ=

เริ่ม authen
AUTH LOGIN
334 VXNlcm5hbWU6
dXNlckBkb21haW4uZXh0
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 2.0.0 OK Authenticated

ถ้าเอาที่อ่านไม่ออกทั้งหมดมาทำ decoding ด้วย base64 ก็จะเป็น
AUTH LOGIN
334 Username:
user@domain.ext
334 Password:
password
235 2.0.0 OK Authenticated

และก็จริงๆ แล้วสามารถส่ง username ได้ตั้งแต่บรรทัดแรกก็จะเป็นแบบนี้
AUTH LOGIN dXNlckBkb21haW4uZXh0
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 2.0.0 OK Authenticated

แต่ยังไงก็ต้องอย่าลืมดู response ถ้ามัน response กลับมาให้ใส่ username ก็ต้องส่ง username

No comments:

Post a Comment