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认证过程

猜你喜欢

转载自blog.csdn.net/qq_41922058/article/details/80329790
今日推荐