江西省高校校园防疫自动签到PHP程序 作者: Chuwen 时间: 2020-07-29 分类: PHP # Jiangxi-University-Health-Check-in > ## 请注意,学校都是我虚构的,我并不是在 **南昌大学** {滑稽} PHP版本 江西省普通高等学校 校园防疫 健康签到 自动签到程序,项目地址 https://github.com/PrintNow/Jiangxi-University-Health-Check-in # 抓包过程 > 根据老师说的,在 支付宝 -> 江西省终身学习卡 -> 小程序 -> 校园防疫 -> 健康签到 进行签到 > > 然后我就尝试 `HttpCanary` APP 对**支付宝**抓包,但是我发现,并不能正常抓包,直接阻断了,只抓到一条关于 `alipay.com` 域名的 > 然后小程序提示加载失败 > > 我就想到了支付宝可能对抓包有所屏蔽,网上搜的解决办法就是要装 `Xposed`、`Magisk` > 之类的进行解除限制,我手机还没解锁,要解锁还得清除手机所有数据 > ,嫌弃麻烦就没有再去折腾了 > > 大概 2020-07-26 左右,心血来潮,就去解锁了,输入 TWRP,刷入 Magisk,一气呵成 > ,根据网上查找的资料,在 `Magisk` 安装某个模块,就会将用户安装的证书转换为系统证书, > 这样就可以愉快的抓包了,但是我照着做了后,并没有用,还是阻断了,支付宝小程序那里提示 *加载失败* 好像 > > 最后,我在 `HttpCanary` 设置里发现了说推荐使用 `平行空间` 进行抓包,我在平行空间将支付宝添加进去,然后使用 `HttpCanary` 对 `平行空间抓包`,果不其然,抓到了数据 > 发现这个签到平台加载的是一个网页,然后我在 Chrome 打开,发现没有任何限制,可以直接打开。 > > ### 请往下看分析过程 # 分析过程 1. 发现网址 `https://fxgl.jx.edu.cn/4136010403/index` 中的 `4136010403` 有点神秘,我就去网上搜,搜索结果发现这是一个高校代码, **4136010403** 代表的是 *南昌大学* 2. 这个应该全省高校公用的一个系统,通过 高校代码 进行区分,然后我在教育部网站,从 [全国高等学校名单](http://www.moe.gov.cn/srcsite/A03/moe_634/201706/t20170614_306900.html) 摘取了江西省部分,共计100所(不包含 **成人高等学校**) 3. 然后进行登录抓包,发现需要验证 *验证码* 是否输入正确,这个我就想到了获取登录 SESSION,然后定时如2分钟进行访问网页进行保活 4. 但是支付宝中,只需要登陆一次,后面无论你多久再去签到,都不用输入学号、验证码 进行登录,我觉得有点蹊跷,我就查看了 `https://fxgl.jx.edu.cn/4136010403/index` 源代码,在 241 行位置找到了以下登录方法 ``` function login(type) { initLogin = initLogin + 1; if (!type) { loginName = $("#loginName").val(); yzxx = $("#yzxx").val(); verifyCode = $("#LAY-user-login-vercode").val(); } if (loginName == '') { if (initLogin != 0) { mui.toast('请输入学号') }; return false; } var param = { loginName: loginName, loginType: loginType, yzxx: yzxx, verifyCode:verifyCode, }; mui.showLoading("验证中..", "div"); $.ajax({ type: 'post', url: "public/getLoginInfoByLoginName",//路径 data: param, success: function (data) {//返回数据根据结果进行相应的处理 mui.hideLoading(loadCallback);//隐藏后的回调函数 if (data.code == '1001') { initLogin = 2; window.localStorage.setItem('loginName',encodeURIComponent(loginName)); window.localStorage.setItem('yzxx',yzxx); window.localStorage.setItem('loginType',loginType); window.location.href = "public/homeQd?loginName=" + loginName + '&loginType='+loginType; } else { if (initLogin !== 0) { mui.toast(data.msg); } getVerify(); } } , error: function (e) { mui.hideLoading(loadCallback);//隐藏后的回调函数 mui.toast('服务异常,请稍后重试!'); getVerify(); } }); } ``` 5. 重点是 `window.location.href = "public/homeQd?loginName=" + loginName + '&loginType='+loginType;` 这一段代码,发现通过 访问这个网址可以直接登录 `loginName` 是 *学号*,`loginType` 猜测是 *登录类型*,学生是 `0`,教职工是 `1` 6. 尝试拼接参数通过这个网址登录,果不其然,可以直接登录,搞不太懂为什么要验证验证码,然后拼接此参数进行登录。不过也还好给了我们这些**懒人机会** 7. 登录操作已经完成了,现在进行签到抓包了,发现也是比较简单,向 `https://fxgl.jx.edu.cn/4136010403/studentQd/saveStu` POST 一些参数即可 ``` //推荐你们可以直接查看 `Singleton.php` 69行,看的比较清晰 //以下是需要 POST 的参数 province=江西省 &city=赣州市 &district=章贡区 &street=街道 &xszt=0 &jkzk=0 &jkzkxq= &sfgl=1 &gldd= &mqtw=0 &mqtwxq= &zddlwz=江西省赣州市章贡区 &sddlwz= &bprovince=江西省 &bcity=赣州市 &bdistrict=章贡区 &bstreet= &sprovince=江西省 &scity=赣州市 &sdistrict=章贡区 &lng=113.499325 &lat=24.870886 &sfby=1 ``` # 使用方法 1. 修改 `Singleton.php` 第 11 行 学校代码(这个你往下翻有个 **江西省100所高校代码**) 2. 修改 `Singleton.php` 第 14 行 你的学号 3. 然后通过访问 `http://你的域名/Singleton.php` 即可 4. 或者通过 `CLI` 运行 `php Singleton.php` # API 1. 登录 API > GET,需要 302 跟随,因为登录成功后会跳转至首页 https://fxgl.jx.edu.cn/学校标识码/public/homeQd?loginName=你的学号&loginType=0 2. 签到 API > POST,POST 参数,请往上看 > 或者自己去 https://fxgl.jx.edu.cn/学校标识码/user/qdbp 页面抓包分析 https://fxgl.jx.edu.cn/学校标识码/studentQd/saveStu # 江西省100所高校代码 > 数据来源于:http://www.moe.gov.cn/srcsite/A03/moe_634/201706/t20170614_306900.html |学校名称 |学校标识码 |主管部门 |所在地 |办学层次|备注 | |---------------|----------|----------|----|----|---| |南昌大学 |4136010403|江西省 |南昌市 |本科 | | |华东交通大学 |4136010404|江西省 |南昌市 |本科 | | |东华理工大学 |4136010405|江西省 |抚州市 |本科 | | |南昌航空大学 |4136010406|江西省 |南昌市 |本科 | | |江西理工大学 |4136010407|江西省 |赣州市 |本科 | | |景德镇陶瓷大学 |4136010408|江西省 |景德镇市|本科 | | |江西农业大学 |4136010410|江西省 |南昌市 |本科 | | |江西中医药大学 |4136010412|江西省 |南昌市 |本科 | | |赣南医学院 |4136010413|江西省 |赣州市 |本科 | | |江西师范大学 |4136010414|江西省 |南昌市 |本科 | | |上饶师范学院 |4136010416|江西省 |上饶市 |本科 | | |宜春学院 |4136010417|江西省 |宜春市 |本科 | | |赣南师范大学 |4136010418|江西省 |赣州市 |本科 | | |井冈山大学 |4136010419|江西省 |吉安市 |本科 | | |江西财经大学 |4136010421|江西省 |南昌市 |本科 | | |江西科技学院 |4136010846|江西省教育厅 |南昌市 |本科 |民办 | |景德镇学院 |4136010894|江西省 |景德镇市|本科 | | |萍乡学院 |4136010895|江西省 |萍乡市 |本科 | | |江西科技师范大学 |4136011318|江西省 |南昌市 |本科 | | |南昌工程学院 |4136011319|江西省 |南昌市 |本科 | | |江西警察学院 |4136011504|江西省 |南昌市 |本科 | | |新余学院 |4136011508|江西省 |新余市 |本科 | | |九江学院 |4136011843|江西省 |九江市 |本科 | | |江西工程学院 |4136012766|江西省教育厅 |新余市 |本科 |民办 | |南昌理工学院 |4136012795|江西省教育厅 |南昌市 |本科 |民办 | |江西应用科技学院 |4136012938|江西省教育厅 |南昌市 |本科 |民办 | |江西服装学院 |4136013418|江西省教育厅 |南昌市 |本科 |民办 | |南昌工学院 |4136013421|江西省教育厅 |南昌市 |本科 |民办 | |南昌大学科学技术学院 |4136013429|江西省教育厅 |南昌市 |本科 |民办 | |南昌大学共青学院 |4136013430|江西省教育厅 |九江市 |本科 |民办 | |华东交通大学理工学院 |4136013431|江西省教育厅 |南昌市 |本科 |民办 | |东华理工大学长江学院 |4136013432|江西省教育厅 |抚州市 |本科 |民办 | |南昌航空大学科技学院 |4136013433|江西省教育厅 |南昌市 |本科 |民办 | |江西理工大学应用科学学院 |4136013434|江西省教育厅 |赣州市 |本科 |民办 | |景德镇陶瓷大学科技艺术学院 |4136013435|江西省教育厅 |景德镇市|本科 |民办 | |江西农业大学南昌商学院 |4136013436|江西省教育厅 |南昌市 |本科 |民办 | |江西中医药大学科技学院 |4136013437|江西省教育厅 |南昌市 |本科 |民办 | |江西师范大学科学技术学院 |4136013438|江西省教育厅 |南昌市 |本科 |民办 | |赣南师范大学科技学院 |4136013439|江西省教育厅 |赣州市 |本科 |民办 | |江西科技师范大学理工学院 |4136013440|江西省教育厅 |南昌市 |本科 |民办 | |江西财经大学现代经济管理 学院|4136013441|江西省教育厅 |南昌市 |本科 |民办 | |豫章师范学院 |4136013774|江西省 |南昌市 |本科 | | |南昌师范学院 |4136014437|江西省 |南昌市 |本科 | | |上饶幼儿师范高等专科学校 |3636000312|江西省 |上饶市 |专科 | | |抚州幼儿师范高等专科学校 |3636000519|江西省 |抚州市 |专科 | | |江西工业职业技术学院 |4136010839|江西省 |南昌市 |专科 | | |江西医学高等专科学校 |4136010888|江西省 |上饶市 |专科 | | |九江职业大学 |4136011505|江西省 |九江市 |专科 | | |九江职业技术学院 |4136011785|江西省 |九江市 |专科 | | |江西司法警官职业学院 |4136012929|江西省 |南昌市 |专科 | | |江西陶瓷工艺美术职业技术 学院|4136012930|江西省 |景德镇市|专科 | | |江西旅游商贸职业学院 |4136012932|江西省 |南昌市 |专科 | | |江西电力职业技术学院 |4136012933|江西省 |南昌市 |专科 | | |江西环境工程职业学院 |4136012934|江西省 |赣州市 |专科 | | |江西艺术职业学院 |4136012936|江西省 |南昌市 |专科 | | |鹰潭职业技术学院 |4136012937|江西省 |鹰潭市 |专科 | | |江西信息应用职业技术学院 |4136012939|江西省 |南昌市 |专科 | | |江西交通职业技术学院 |4136012940|江西省 |南昌市 |专科 | | |江西财经职业学院 |4136012941|江西省 |九江市 |专科 | | |江西应用技术职业学院 |4136012942|江西省 |赣州市 |专科 | | |江西现代职业技术学院 |4136012943|江西省 |南昌市 |专科 | | |江西工业工程职业技术学院 |4136012944|江西省 |萍乡市 |专科 | | |江西机电职业技术学院 |4136012976|江西省 |南昌市 |专科 | | |江西科技职业学院 |4136013419|江西省教育厅 |南昌市 |专科 |民办 | |南昌职业学院 |4136013420|江西省教育厅 |南昌市 |专科 |民办 | |江西外语外贸职业学院 |4136013422|江西省 |南昌市 |专科 | | |江西工业贸易职业技术学院 |4136013423|江西省 |南昌市 |专科 | | |宜春职业技术学院 |4136013424|江西省 |宜春市 |专科 | | |江西应用工程职业学院 |4136013425|江西省 |萍乡市 |专科 | | |江西生物科技职业学院 |4136013426|江西省 |南昌市 |专科 | | |江西建设职业技术学院 |4136013427|江西省 |南昌市 |专科 | | |抚州职业技术学院 |4136013428|江西省 |抚州市 |专科 | | |江西中医药高等专科学校 |4136013775|江西省 |抚州市 |专科 | | |江西先锋软件职业技术学院 |4136013776|江西省教育厅 |南昌市 |专科 |民办 | |江西经济管理职业学院 |4136013866|江西省 |南昌市 |专科 | | |江西制造职业技术学院 |4136013867|江西省 |南昌市 |专科 | | |江西工程职业学院 |4136013868|江西省 |南昌市 |专科 | | |江西青年职业学院 |4136013869|江西省 |南昌市 |专科 | | |上饶职业技术学院 |4136013870|江西省 |上饶市 |专科 | | |江西航空职业技术学院 |4136013871|江西省 |南昌市 |专科 | | |江西农业工程职业学院 |4136013872|江西省 |宜春市 |专科 | | |赣西科技职业学院 |4136013873|江西省教育厅 |新余市 |专科 |民办 | |江西卫生职业学院 |4136013965|江西省 |南昌市 |专科 | | |江西新能源科技职业学院 |4136014166|江西省教育厅 |新余市 |专科 |民办 | |江西枫林涉外经贸职业学院 |4136014167|江西省教育厅 |九江市 |专科 |民办 | |江西泰豪动漫职业学院 |4136014168|江西省教育厅 |南昌市 |专科 |民办 | |江西冶金职业技术学院 |4136014241|江西省 |新余市 |专科 | | |江西管理职业学院 |4136014249|江西省 |南昌市 |专科 | | |江西传媒职业学院 |4136014250|江西省 |南昌市 |专科 | | |江西工商职业技术学院 |4136014321|江西省教育厅 |南昌市 |专科 |民办 | |景德镇陶瓷职业技术学院 |4136014402|江西省教育厅 |景德镇市|专科 |民办 | |共青科技职业学院 |4136014403|江西省教育厅 |九江市 |专科 |民办 | |赣州师范高等专科学校 |4136014465|江西省 |赣州市 |专科 | | |江西水利职业学院 |4136014476|江西省 |南昌市 |专科 | | |宜春幼儿师范高等专科学校 |4136014494|江西省 |宜春市 |专科 | | |吉安职业技术学院 |4136014504|江西省 |吉安市 |专科 | | |江西洪州职业学院 |4136014505|江西省教育厅 |宜春市 |专科 |民办 | |江西师范高等专科学校 |4136014537|江西省 |鹰潭市 |专科 | | |南昌影视传播职业学院 |4136014544|江西省教育厅 |南昌市 |专科 |民办 | |赣南卫生健康职业学院 |4136014569|江西省 |赣州市 |专科 | | 标签: PHP, 支付宝, 抓包