CAS服务器SSO模拟登录
发布时间:2018-05-15 21:46,
浏览次数:897
, 标签:
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认证过程