步骤
- 获得
execution
和`JSESSIONID - 获得
modulus
和exponent
和_pv0
- 利用
modulus
和exponent
加密密码 - 请求POST登录并获得
_pc0
,_pf0
,iPlanetDirectoryPro
获得execution
和JSESSIONID
直接GET请求该网址
http://xxx.edu.cn/cas/login?service=http://xxx.edu.cn:81/im/system/login/login.zf
在Response处可看到
<input type="hidden" name="execution" value="xxx" />
此处的value
值即为execution
值
返回的Cookies处可看到JSESSIONID
Set-Cookie: JSESSIONID=xxxxxx;path=/cas;
此处的xxxxxx
值即为JSESSIONID
值
获得modulus
和exponent
和_pv0
直接GET请求该网址
http://xxx.edu.cn/cas/v2/getPubKey
注意:请求时携带第一步获得的JSESSIONID
在Response处可看到modulus
值和exponent
值
{"modulus":"xxxxxx","exponent":"10001"}
经多次测试发现,exponent
固定为10001
不变
返回的Cookies处可看到_pv0
Set-Cookie: _pv0=xxxxxx;domain=xxx.edu.cn;path=/
利用modulus
和exponent
加密密码
请求POST登录并获得_pc0
,_pf0
,iPlanetDirectoryPro
POST请求地址
http://xxx.edu.cn/cas/login?service=http://xxx.edu.cn:81/im/system/login/login.zf
注意:请求时携带第一步获得的JSESSIONID
和_pv0
POST请求数据格式
username=这里填学号&mobileCode=&password=这里填加密后的密码&authcode=&execution=这里填之前获得的execution&_eventId=submit
返回的Cookies处可看到_pc0
,_pf0
,iPlanetDirectoryPro
Set-Cookie: _pv0=xxxxxx;domain=xxx.edu.cn;path=/
Set-Cookie: _pf0=xxxxxx;Max-Age=86400;domain=xxx.edu.cn;path=/;HttpOnly
Set-Cookie: _pm0=;Max-Age=0;domain=xxx.edu.cn;path=/
Set-Cookie: _pc0=xxxxxx;domain=xxx.edu.cn;path=/;HttpOnly
Set-Cookie: iPlanetDirectoryPro=xxxxxx;domain=xxx.edu.cn;path=/