1. 程式人生 > >CAS伺服器SSO模擬登入

CAS伺服器SSO模擬登入

一、CAS及原理

原理參考文章https://blog.csdn.net/javaloveiphone/article/details/52439613

二、模擬登入開始

1. 拿到網站進行抓包 工具Fiddler4(工具使用方法自行百度)

 

2. 分析引數

主要引數:

lt [REQUIRED] 登入令牌;

該引數是login ticket id主要是在登入前產生的一個唯一的“登入門票”,然後提交登入後會先取得"門票",確定其有效性後才進行使用者名稱和密碼的校驗,否則直接重定向至 cas/login 頁

分析登入介面

 

發現lt引數為一個隱式引數

使用java程式碼獲取引數過程

// 獲取lt

public static String GetLT() throws Exception {

Document doc = Jsoup.connect("localhost/cas/login").get();

// Elements info = doc.select("div");

Elements info = doc.select("xxx").select("xxx").select("input[name = lt]");

System.err.println(info);

return info.val();

}

3. 請求過程

 

  

第一次請求資料為post請求,狀態碼200

第二次請求狀態碼為302,方式為get並且後邊帶了第一次響應的ticket引數

重要引數:ticket 此引數為伺服器驗證通過後返回的門票,拿到門票之後再去客戶端進行驗證

另一個重要引數

Cookie: JSESSIONID=xxxxxxxxxxxxxxxxxxxxx;此處不做詳細介紹

經過兩次302驗證之後就可以隨意請求cas下的任何資源

三、CAS認證過程