当前位置: 首页 > news >正文

Web逆向-某网络学院学习的”偷懒“思路分析

接到求助,帮朋友完成20课时的网络学习。
我想都没想就接下了,寻思找个接口直接把学习时间提交上去,易如反掌。
最不济最不济,咱还能16x播放,也简单的很

然鹅,当我登陆的时候,发现自己还是太天真。
首先,不能多开窗口。打开第二个播放窗口后,就会弹出:

其次,倍速播放不管用……无论多快的播放速度,获取学习时长的间隔还是一样的。
经过分析,这个学习,是通过每隔一段时间,通过post请求上报视频播放时间,而不是上报播放时长。

这已经是我见过防作弊做的最好的站了(除了人脸识别上课)。

于是有两个思路来“偷懒”:

1,直接post播放时长。

按照请求格式,把session_time字段写的长一写(甚至直接写成本节课的时长,我没测试。)然后提交,就可以获得学习时长。

 但是,这个方法太暴力,不知是否会出发后台警报(之前测试一个学习平台,post请求发出去,返回了“账号作弊已记录,拉黑……”巴拉巴拉的)。

2,窗口多开。

稳妥一点的还是老老实实的挂课,多窗口学习。
搜索“停止计时”,发现多窗口检查居然是通过一个xhr请求的返回值1/2来判断。那我们可以拦截并修改这个请求,即可绕过检测。

这里我用的油猴脚本,也没啥技术含量,就几行简单的代码:

(function() {'use strict';const originOpen = XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open = function (method, url) {if (url.indexOf("checkcourse.do")>-1) {this.addEventListener("readystatechange", function () {if (this.readyState === 4) {const res = JSON.parse(this.responseText);Object.defineProperty(this, "responseText", {writable: true,});this.responseText = "1";console.log(this.responseText);}});}originOpen.apply(this, arguments);
};
})();

 总结:
简单记录下

http://www.lryc.cn/news/221863.html

相关文章:

  • 一个用python PyQT写的背单词小程序
  • AutoSAR配置与实践(深入篇)10.1 UDS刷写诊断服务解析(34/36/37服务)
  • 【机器学习】六、概率图模型
  • 机器视觉软件破解的背后是道高一尺,魔高一丈
  • 【I/O流之旅】File类-零基础入门指南
  • ArrayList和LinkedList的区别有哪些?
  • Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题
  • Java TCP服务端多线程接收RFID网络读卡器上传数据
  • SpringCloud——服务网关——GateWay
  • Linux程序的地址空间
  • Docker安装Minio(稳定版)
  • 大数据毕业设计选题推荐-超级英雄运营数据监控平台-Hadoop-Spark-Hive
  • 视频转码教程:轻松制作GIF动态图,一键高效剪辑操作
  • Seata分布式事务实现原理
  • Rasa NLU中的组件
  • redis笔记 三 redis持久化
  • k8s-----数据存储
  • macOS电池续航工具:Endurance中文
  • 栈(定义,基本操作,顺序存储,链式存储)
  • 在HTML单页面中,使用Bootstrap框架的多选框如何提交数据
  • 当爱好变成职业,会不会就失去了兴趣?
  • 3-知识补充-MVC框架
  • leetcode:141. 环形链表
  • 了解企业邮箱的外观和功能特点
  • 配置阿里云镜像加速器 -docker
  • 11 抽象向量空间
  • 干洗店洗鞋店管理系统app小程序;
  • NOIP2023模拟13联测34 总结
  • Python武器库开发-常用模块之subprocess模块(十九)
  • java验证 Map 的 key、value 是否可以为空