重庆工商大学图书馆自动抢座

发布于 2024-12-09  194 次阅读


期末了图书馆座位难抢,恰好有朋友想去,于是就浅浅研究了一下。

CTBU图书馆预约系统:https://ic.ctbu.edu.cn

进入预约系统,发现未登录状态下会获取一个带token的地址重定向到统一身份认证中心:https://ic.ctbu.edu.cn/ic-web/auth/address?finalAddress=https:%2F%2Fic.ctbu.edu.cn

登录,f12找到登录的请求:
https://cas.ctbu.edu.cn/lyuapServer/login?v=0.35525523410804727

username: 20234*****
password: 20055e0d3518c8c8d9b...
authcode: 8235
execution: 00ad4e35-6acc...
_eventId: submit

其中execution、_eventId可在页面源码中提取到

继续挖掘,找到加密密码的部分(https://cas.ctbu.edu.cn/lyuapServer/js/login/login.js?v=0.6063708780687932),密码使用了RSAUtils(也就是加载的security.js)进行加密,modulus和exponent都从https://cas.ctbu.edu.cn/lyuapServer/v2/getPubKey获得,所有参数一应俱全,这里就不多说了。验证码直接用tesseract或者ddddocr进行识别,效果还不错。

此外,getPubKey那里会有几个_pm0、_pv0开头的cookie,必须带上

写好登录脚本后发送登录请求,遇到302就是成功了,从headers中拿到ic-cookie。

登进系统后还有一个拿token的请求,经过测试后发现这个token并没有实质性的作用,每次请求时在请求头里带上cookie就行了

最后就是抓包看预约的请求,这个简单就懒得写了,搞了个自动预约座位的网站,每天到点自动预约,先给大家免费用:www.ctbu.top

特别鸣谢一起研究的扶师傅:@fulian23

  • alipay_img
  • wechat_img
平芜尽处是春山
最后更新于 2024-12-09