标题: 江西省高校校园防疫自动签到PHP程序
时间: 2020-07-29发布,2020-07-29修改
请注意,学校都是我虚构的,我并不是在 南昌大学
,因为学校标识码它排第一,那我直接用它来讲
PHP版本 江西省普通高等学校 校园防疫 健康签到 自动签到程序
发布者:https://nowtime.cc/php/1041.html
项目地址:https://github.com/PrintNow/Jiangxi-University-Health-Check-in
根据老师说的,在 支付宝 -> 江西省终身学习卡 -> 小程序 -> 校园防疫 -> 健康签到 进行签到
然后我就尝试
HttpCanary
APP 对支付宝抓包,但是我发现,并不能正常抓包,直接阻断了,只抓到一条关于alipay.com
域名的
然后小程序提示加载失败我就想到了支付宝可能对抓包有所屏蔽,网上搜的解决办法就是要装
Xposed
、Magisk
之类的进行解除限制,我手机还没解锁,要解锁还得清除手机所有数据
,嫌弃麻烦就没有再去折腾了大概 2020-07-26 左右,心血来潮,就去解锁了,输入 TWRP,刷入 Magisk,一气呵成
,根据网上查找的资料,在Magisk
安装某个模块,就会将用户安装的证书转换为系统证书,
这样就可以愉快的抓包了,但是我照着做了后,并没有用,还是阻断了,支付宝小程序那里提示 加载失败 好像最后,我在
HttpCanary
设置里发现了说推荐使用平行空间
进行抓包,我在平行空间将支付宝添加进去,然后使用HttpCanary
对平行空间抓包
,果不其然,抓到了数据
发现这个签到平台加载的是一个网页,然后我在 Chrome 打开,发现没有任何限制,可以直接打开。请往下看分析过程
发现网址 https://fxgl.jx.edu.cn/4136010403/index
中的 4136010403
有点神秘,我就去网上搜,搜索结果发现这是一个高校代码,
4136010403 代表的是 南昌大学
这个应该全省高校公用的一个系统,通过 高校代码 进行区分,然后我在教育部网站,从 全国高等学校名单 摘取了江西省部分,共计100所(不包含 成人高等学校)
然后进行登录抓包,发现需要验证 验证码 是否输入正确,这个我就想到了获取登录 SESSION,然后定时如2分钟进行访问网页进行保活
但是支付宝中,只需要登陆一次,后面无论你多久再去签到,都不用输入学号、验证码 进行登录,我觉得有点蹊跷,我就查看了 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();
}
});
}
重点是 window.location.href = "public/homeQd?loginName=" + loginName + '&loginType='+loginType;
这一段代码,发现通过
访问这个网址可以直接登录 loginName
是 学号,loginType
猜测是 登录类型,学生是 0
,教职工是 1
尝试拼接参数通过这个网址登录,果不其然,可以直接登录,搞不太懂为什么要验证验证码,然后拼接此参数进行登录。不过也还好给了我们这些懒人机会
登录操作已经完成了,现在进行签到抓包了,发现也是比较简单,向 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
Singleton.php
第 11 行 学校代码(这个你往下翻有个 江西省100所高校代码)Singleton.php
第 14 行 你的学号http://你的域名/Singleton.php
即可CLI
运行 php Singleton.php
登录 API
GET,需要 302 跟随,因为登录成功后会跳转至首页
https://fxgl.jx.edu.cn/学校标识码/public/homeQd?loginName=你的学号&loginType=0
签到 API
POST,POST 参数,请往上看
或者自己去 https://fxgl.jx.edu.cn/学校标识码/user/qdbp 页面抓包分析
『回复列表(4|隐藏机器人聊天)』