簡單抓包分析:LDAP的simple方式認證過程

sasuke0211發表於2016-01-18

客戶端傳送繫結請求

1.這裡可以使用匿名使用者或預設使用者來繫結,shterm中是用simple中填寫的查詢使用者DN和查詢使用者密碼

圖片描述

 
2.傳送內容:(請求繫結Adimistrator)

  • 預設使用者的繫結域realm:CN=Administrator,CN=Users,DC=com

  • 協議版本:3

  • 認證方式:Simple

  • 簡單加密後的使用者密碼:7d(一般是16位的16進位制數)

伺服器響應繫結結果

圖片描述

  • success

客戶端傳送filter,請求查詢欲繫結的使用者是否存在

圖片描述

 
1.傳送內容:

  • 請求查詢的使用者域realm:CN=Users,DC=com

  • 查詢範圍:wholeSubtree(整個子樹)

  • filter公式:(&(objectclass=person)(sAMAccountName=test6)),就是shterm中填寫的使用者filter,並用登入測試的使用者名稱test6來替代

  • 登入名sAMAccountName:test6

  • 屬性描述:dn

伺服器返回查詢結果

1.伺服器會返回result,如果沒有找到這個使用者則result為0,找到了則為1;如果出現result>1的情況,則也是不正常的。

2.查詢到使用者的結果圖:

圖片描述

 
3.傳送內容:

  • 查詢到的匹配結果result:1

  • 查詢到使用者的域realm:CN=test6,CN=Users,DC=com

  • 查詢過程結果:success(指的是本次查詢是否成功,而不是是否查詢到這個使用者)

4.沒有查詢到使用者的結果圖:

圖片描述

 
5.傳送內容:

  • 查詢到的匹配結果results:0

  • 查詢過程結果:success(指的是本次查詢是否成功,而不是是否查詢到這個使用者)

查詢到使用者時,此時客戶端使用新的realm申請繫結

1.客戶端會在這時傳送新的realm和test6的密碼
圖片描述

 
2.傳送內容:

  • 預設使用者的繫結域realm:CN=test6,CN=Users,DC=com

  • 協議版本:3

  • 認證方式:Simple

  • 簡單加密後的使用者密碼: 31(一般是16位的16進位制數)

伺服器響應繫結結果

 
1.success
圖片描述

2.使用者密碼錯誤的結果圖:
圖片描述

未解決問題:
searchResEntry和searchResDone的意義
 

相關文章