(已和谐)职教云 智慧职教 ICVE 关于拿教师权限以及补签等操作 2020

文章正文
发布时间:2025-12-10 10:36

本帖最后由 情绪666 于 2020-5-31 20:54 编辑

看前甜点



READERME:请不要随意修改老师发布的内容及自己同学或别的同学的任何信息,且行且珍惜
特殊情况下给自己补签足够,谨慎操作使用,你们是祖国的希望和未来,正值花季,你们虽然掌握了一定的生活常识,有了一定的独立意识,普遍希望得到社会的支持、理解、尊重和赞扬,以体现自己在社会中的价值,不要随意炫耀,不得参与任何信息的泄露,仅供学习交流。

先说一个小发现:职教云其实可以不输入验证码登录,验证码那里输入空格就行,写了给小脚本在油猴 https://greasyfork.org/zh-CN/scripts/404242 写的不好请见谅。

最近看到很多补签的帖子,以及拿教师权限,看着挺麻烦的,于是花了几天时间分析了一下,职教云确实不安全,能获取到加入职教云的学校,学校的课程,课程的老师,老师的学生,学生的信息。除了不能拿到学生密码和教师密码之外,其他基本都能拿到,包括邮箱,扣扣,学号,姓名,班级,学校等。于是用python做了一个爬虫,证明确实有效(已反馈职教云,不参与任何违法违规,内容未保留仅供学习)。


开始



-------------------------------------简单演示一个教师权限(无需抓包及注册教师账号)---------------------------------------------------
为什么不需要抓包和注册教师账号,可能是当时程序员开发的时候遗留下来的一些账号吧(里面包括体验教师和体验学生,体验学生用处不大就不做演示)。


准备工作:

1、能上网的浏览器

2、自己的职教云账号








扩展


这是一些正规的数据,能够找到课程,已提交职教云官方,虽然这些东西并没有什么用,仅供学习,智慧树有个接口也能够得到所有学校,不过也没什么用。


体验教师URL:https://zjy2.icve.com.cn/common/login/trialTeacher
体验学生URL:https://zjy2.icve.com.cn/common/login/trialStudent

QQ截图20200530155628.jpg (180.61 KB, 下载次数: 2)

下载附件

2020-5-30 16:06 上传

QQ截图20200530155818.jpg (129.28 KB, 下载次数: 3)

下载附件

2020-5-30 16:06 上传





被和谐后续



帖子刚开没多久方法就被和谐了,其实不用担心,那只是一个用官方的账号进行操作,其他方法可以自己想象,能证明方法这种方法还是有用的,未被修复。



既然被和谐了,下面来点有用的吧,能够快速获取教师ID:


[Python] 纯文本查看 复制代码

import json import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', } list_data = [] def getData(): ''' 获取加入职教云的学校 :return: ''' url = "https://www.icve.com.cn/commonUser/portal/register/getUnit" result = requests.post(url=url, headers=headers) json_data = json.loads(result.content) for i in json_data["list"]: list_data.append(i) def getTea(Id, scoreName): ''' 获取学校的老师课程 :param Id: 学校ID :return: ''' url = "https://zjy2.icve.com.cn/dzx/portalApi/coursecenter/getCourseList?schoolId={}&page=1&pageSize=10000".format( Id) result = requests.get(url=url, headers=headers) # 把json字符串转换为python的数据格式 data = json.loads(result.text) # print(data) # 课程数 print("总共", data["pagination"]["totalCount"], "门课程") flag = True for i in data["list"]: # 获取课程教师 teacher = i["mainTeacherName"] # 教师ID teacherID = i["mainTeacherId"] # 获取课程名称 course = i["courseName"] # 获取课程id Id = i["Id"] # 获取加入课程的人数 numStu = i["stuCount"] if scoreName in course: flag = False print("课程名称:", course, "\t教师:", teacher, "\t教师ID:", teacherID, "\t课程人数:", numStu, "\t课程ID:", Id) if flag: print("未查询到课程") exit(0) if __name__ == '__main__': print("---------->正在获取学校列表<----------") getData() print("---------->学校列表获取完成<----------") schName = input("请输入需要查询的学校名称(回车查询所有,可使用关键字如:北京):") flag = True for i in list_data: if schName in i["Name"]: flag = False # 找到学校 print("学校名称--->", i["Name"], "\t\t\t学校ID---->", i["Id"]) if flag: print("未查询到学校") exit(0) # 找课程 schoolID = input("请输入学校ID(必填):") courseName = input("请输入课程名称(回车查询所有):") getTea(schoolID, courseName)


首页
评论
分享
Top