梦平行宇宙之校内安全学习

  • 2019-04-18
  • 118
  • 3
  • 1

此内容均发生自平行宇宙 1729,也只能适用于平行宇宙 1729,如有类似事件纯属巧合。


1. 说明

某校要求学生进入实验室前需要在线学习实验室安全知识 12 小时,再考试,网站每间隔五分钟需要手动点击确定,而此确定按钮是使用 window.confirm() + alert产生,其会停止当前页面,所以不能使用 js 来控制按钮,索性写个 python 代码挂在我的树莓派上,挂一夜就能考试答题了。使用整个网站都是校内内网架设,所以程序只能在校园网下运行呦。程序要求 python3,以及需要安装 requests, beautifulsoup4,安装命令如下:

pip install requests==2.18.4 beautifulsoup4==4.6.0

程序思路和过程以后闲了再更新吧,下载见 #4.代码下载(我有写了两个版本一个是直接运行的脚本,一个是命令行运行,详细见代码readme),直接运行的版本使用很简单,修改自己的账号,在程序一开始的 userData。例如我的 userData:

userData = {
    'xuehao': '1704310334',
    'password': '123456',
    'postflag': '1',
    'cmd': 'login',
    'role': '0',
    '%CC%E1%BD%BB': '%B5%C7%C2%BC'
}

如果出现错误:error code:{}, 可能加密参数发生了变化,参数获取方法见说明,有问题请联系,此时需要重新获取参数,详细见下,如果不懂,加我QQ1415615232。

2. 加密参数获取

加密参数自获取方法(谷歌浏览器为例):

  1. 打开网址,右击网页选择“检查”打开开发者工具,(如 figure 1)

    1555594692533 figure 1

  2. 点开发者工具的 “Network”,再勾选上 “Preserve log”,(如 figure 2)

    1555594856564 figure 2

  3. 正常登陆自己账号,登陆之后在开发者工具 “Network” 下找到,exam_login.php (如figure 3),单击后得到详细信息,向下翻到“Form Data” (如figure 4),再点击绿框的 “view URL encoded”,得到加密参数,(如figure 5)

    1555594998852 figure 3

    1555595334651 figure 4

    1555595369522 figure 5

  4. 将上面获取的参加替换到 userData,即可。

3. 效果

经过一夜测试,程序蛮稳定。效果图:

1555641476695

4. 代码下载

禁止用作牟利手段!!!

课题组的可以找我代挂,我服务器全天在线。代码下载见评论区,我将其压缩了,下载后先解压再运行。详细见readme。


版权声明: 本网站所有资源采用BY-NC-SA 4.0协议进行授权,转载应当以相同方式注明文章来自:梦平行宇宙之校内安全学习 - 一方的天地

评论

    • root回复

      目前超时等待时间是3s(代码中 timeout),超过3s就会停止访问并返回错误。我刚测试发现这个时间太短,建议更改为10s…

    • root回复

      超时时间已修改为10s

发表评论

陕ICP备18010914号
知识共享许可协议
本作品由一方天地采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资源请尽快联系站长,本站会在24h内删除有争议的资源。 -