pengGgxp 发表于 2023-11-13 20:30

Python实现某校园网自动登录

本帖最后由 pengGgxp 于 2023-11-14 18:23 编辑

不废话,如有不当,请联系删除,做这个的初衷只是用来学习研究,并无其他用途
[*]
首先分析校园网登陆页面
不放图了,就是很简单的两行信息要输入(账密)
[*]
直接打开开发者工具(F12)看看正常登陆的时候会发生什么

发现有一个post JSON的进程,如果没猜错就是它了,我们继续。
[*]
点开看看有什么

不看不知道,一看就有点迷茫了,发现三个值,其中data最为特殊,看起来像加密的,先不管他,99.9999%他就是登陆的关键数据
在这里看不出什么了,看看源代码吧。
[*]
返回登陆网址,看看源代码

emmm,这一看就知道加密数据里面肯定有这些信息,继续看

发现一个js函数,继续溯源

哦豁,不是吧?加密就在前台加密的?这样搞?(内心狂喜)

哦豁,直接就知道怎么回事了,cryptojs,然后还有后面的padzeropadding,emmmm,key就这么摆在我面前,这谁不心动。
Python有一样的包,可以模拟出来这个函数,还可以进行解密再加密,这么一说是不是思路就清晰了?
PS:有些爬虫知识我就不说了,都是一些最基本的,我怕我说了有人会忍不住纠正,毕竟技艺不精。
[*]
Python脚本的思路

[*]
先get一下登陆网址,把cookie存下来,还有一些隐藏的表单信息(ip,sign)
[*]
处理json数据,先把用开发者工具再网页上获取的data和iv存下来放入jsondata变量
[*]
把data解密,然后把get到的ip,sign信息替换掉旧的
[*]
加密,post到服务器
[*]
获取返回数据,完成登陆
ps:加解密的代码我不细讲,我本来理解的也不深,希望有大佬说一下。
下面是一些相关代码截图,大家可以自行下载后查看(排版乱了,不知道咋搞)


脚本下载链接:
链接:https://pan.baidu.com/s/18d8N9h0lTRzJCkNvtzvaDA?pwd=4kbz
提取码:4kbz

pengGgxp 发表于 2023-11-23 11:58

简化了一下代码,只需要在配置文件中输入账号密码即可,

pengGgxp 发表于 2023-11-14 23:36

baliao 发表于 2023-11-14 11:45
大佬, 链接失效了,能再发一下吗?

已更新链接:https://pan.baidu.com/s/130Xd1FoGnUKa-ejh7-A8VA?pwd=l79w
提取码:l79w

pengGgxp 发表于 2023-11-13 23:18

本帖最后由 pengGgxp 于 2023-11-14 00:08 编辑

抱歉,本帖可能随时关闭(如有不当,请私信联系我)

daoye9988 发表于 2023-11-13 21:50

好家伙,学习学习

FruitBaby 发表于 2023-11-13 22:25

q前提要有一个账号吧

piazini 发表于 2023-11-13 22:29

前提要有一个账号吧

莱因哈特 发表于 2023-11-13 22:33

不愧是能打败过清华的二本高校{:1_921:}

Yancy-Lan 发表于 2023-11-13 22:48

高手,祝大佬好运

xinfangs 发表于 2023-11-13 22:52

好家伙这也行,

tao456 发表于 2023-11-13 22:55

可以用bat文件写吗

童话里de爱 发表于 2023-11-13 23:01

删了可以吗,不然让法学院老师找你了

pengGgxp 发表于 2023-11-13 23:07

童话里de爱 发表于 2023-11-13 23:01
删了可以吗,不然让法学院老师找你了

大佬,我只是学习使用,啥也不干,如果你确定有问题,我就删了
页: [1] 2 3 4 5 6
查看完整版本: Python实现某校园网自动登录