Darwin
发布于 2022-01-04 / 19 阅读
0
0

对不堪一击的CTBU校园出入码的一些实验

自进入CTBU后,我们遇到了两次因疫情形势加剧而严格管制出入校的情况。学校对严格管制的具体措施是,将翠湖智办疫情事务工作台“进出校备案流程”改为“进出校审批流程”。这两种流程具体内容为:

进出校备案流程:学生填写外出信息(外出时间、地点等)—>获得出入码

进出校审批流程:学生填写外出信息(外出时间、地点等)—>辅导员审批通过—>获得出入码

“审批制”下,如果想在不审批的情况下获得出入码,有可能吗?

经过对出入码管理系统的研究,我给出的答案是:可以。

⚠️免责声明

请注意,此篇文章仅为技术性探讨,请勿滥用此文章中提供的方法。请自觉遵守学校规定和国家法律法规。2022-01-03已确认该方法失效,因此文章设为公开状态。

根据原备案流程的alert“文档保存成功”,可以推测“出入校备案流程”实则上是一个翠湖智办平台的文档保存功能。

对出入码页面进行分析,下载页面源代码,并提取其内的主要功能js文件(见下图)

fxyy分析后,除获知主要功能js文件外,无其他有效发现。因此,我们对main.fccb8d3f.chunk.js进行分析

控制出入码展示页面的代码如下:

其中_react_16_14_0_reactfrom_dll_reference_vendor_e840060280fb228b1994_default为模块名,_this.state.details为表单内容

对出入码QRCode进行解析,获得结果:

M2E1YzExNzc***********3MGZiMDg3YjRlMTE3MmIjIyMyMDIxLTEyLTI5IyMjMj***********jIzIwMjEtMTItMjkjIyMyMDIxNDEzNDA4#####1641269680744

很明显该串字符由两部分组成:_this.state.details.crz . ##### . timestamp

在扫码时,系统的解析代码如下:

其中_this.state.details.crz采用Base64编码,对其解码或得:3a5c117774*********fb087b4e1172b###2021-12-29###2022-01-31###2021-12-29###2021413***

该串字符由五部分组成:{0}###{1}###{2}###{3}###{4}

{0}:MD5(字节集摘要),与_this.state.details.crz、_this.state.details.bh有关

{1}:出入证生效时间

{2}:出入证到期时间

{3}:出入证申请时间

{4}:学工号

对出入码的研究结果公开展示到此结束。

那么,如何通过官方认可的方式获得出入证?

查看备案表单链接,如下:

经过实际测试,在学校将企业微信工作台“学生进出校备案流程”功能更换为“学生进出校审批流程”功能后,并没有在翠湖智办平台关闭备案流程入口,因此,依然可以使用备案表单获取出入码。

但是,如果直接在备案表单填写信息,获得出入码只能是当天有效,通行次数固定为2次。

对备案表单页面开启网络监测,抓取提交信息的封包,获得:

提交方式为GET,因此直接对提交信息进行修改。请求修改提交信息后的链接。

该方法有效。


评论