冰凌汇编

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 46|回复: 0
收起左侧

[Web逆向] 破解超星学习通人脸识别思路

[复制链接]
aaaaaaa2 发表于 2022-7-17 13:49:09
超星学习通部分课程在点进课程首页,或者点进章节时会要求手机APP扫码进行人脸识别,如下图:
破解超星学习通人脸识别思路 - aaaaaaa2_冰凌汇编

将二维码解码,得到网址如下
https://mooc1-api.chaoxing.com/qr/view?uuid=a4301fc0-e226-4f63-b967-******&clazzid=*********&enc=0fe293e82912c16cf5ad8da9******

共有三个参数,uuid、clazzid和enc
clazzid可以确定为班级id,对于同一门课程是固定不变的
刷新页面获取最新二维码,解码后发现uuid和enc参数都发生了变化,并且两个参数在网页html里也同时用input标签存储,如下图
破解超星学习通人脸识别思路 - aaaaaaa2_冰凌汇编

所以获取这两个参数只需要读取input标签即可,无需再解码

下一步,掏出手机,使用超星app扫码,然后fiddler抓包
需要一些基础的手机抓包技术(温馨提示:安卓6.0以下系统可以无视证书安全)

app界面显示如下
破解超星学习通人脸识别思路 - aaaaaaa2_冰凌汇编

接下来按正常流程扫码验证

扫脸通过后,app一共请求了四个接口,前两个接口是检查图片id是否存在和上传图片,不重要,所以不展示。
上传完图片后返回了一个objectId,估计是图片资源对应的id,然后又请求了两个接口。
https://mooc1-api.chaoxing.com/keeper/api/receive-studylog
https://mooc1-api.chaoxing.com/qr/updateqrstatus

第二个接口返回的json数据:
[Asm] 纯文本查看 复制代码
{"msg":"通过",
"log":"{\"data\":{\"relationId\":0,
\"objectId\":\"********************************\"},
\"clazzId\":********,
\"ip\":\"*.*.*.*\",
\"eventTime\":1638697167662,
\"personId\":*********,
\"eventType\":5,
\"courseId\":*******}",
"enc":"8cb8980acdbf8ec2b1db8bbe71527231",
"type":3,
"status":true}

破解超星学习通人脸识别思路 - aaaaaaa2_冰凌汇编

clazzid和courseid经过比对是课程自带的,永远不会变
uuid和qrcenc就是网页input标签带的
objectid是上传人脸照片返回的
failcount和compareresult是请求第三个接口返回的

所以说只要解决后三个参数即可

关于objectid:上传人脸照片不可能,我要做的是破解人脸,而不是模拟人脸,所以objectid就先瞎填一下或者填一个已经存在的objectid
failcount和compareresult先用刚刚返回的0

接下来重新触发人脸,用post请求试一下(注意uuid和qrenc是刷新变化的,不能用旧的)
破解超星学习通人脸识别思路 - aaaaaaa2_冰凌汇编

成功通过人脸识别!

尝试删除failcount和compareresult参数后post请求,再次通过!

研究到这里,可以判断,超星的人脸识别是在手机本地进行的,服务器端没有进行比对,objectid随便填。

总体思路如下:
1、在二维码页面获取uuid和qrenc、classid、courseid参数
2、POST如下接口,objectid随机(注意跨域问题):

url:https://mooc1-api.chaoxing.com/qr/updateqrstatus
data:clazzId=******&courseId=******&uuid=******&qrcEnc=******&objectId=随机字符

3、数秒后二维码自动消失,可以继续学习。
后记:在我开始研究的时候,已经做好失败的准备,因为如果超星是服务器端判断人脸然后返回id,那在本地怎么操作都不能跳过检测。
在把思路写成油猴脚本并发布后,经用户反馈,发现超星的人脸识别并不只有一个版本,另一版本的二维码格式相同,但手机app扫描后请求的接口不同,但总体思路类似。

注意:此文章的接口与思路已经通过油猴脚本实现并上传,如果你想写个同功能脚本,小心不要雷同。
冰凌汇编免责声明
以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|站点统计|Archiver|小黑屋|RSS|冰凌汇编 ( 滇ICP备2022002049号 滇公网安备 53032102000029号)|网站地图

GMT+8, 2022-10-6 20:57 , Processed in 0.132576 second(s), 9 queries , Redis On.

冰凌汇编 - 建立于2021年12月20日

Powered by Discuz! © 2001-2022 Comsenz Inc.

快速回复 返回顶部 返回列表