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 简化了一下代码,只需要在配置文件中输入账号密码即可, baliao 发表于 2023-11-14 11:45
大佬, 链接失效了,能再发一下吗?
已更新链接:https://pan.baidu.com/s/130Xd1FoGnUKa-ejh7-A8VA?pwd=l79w
提取码:l79w 本帖最后由 pengGgxp 于 2023-11-14 00:08 编辑
抱歉,本帖可能随时关闭(如有不当,请私信联系我) 好家伙,学习学习 q前提要有一个账号吧 前提要有一个账号吧 不愧是能打败过清华的二本高校{:1_921:} 高手,祝大佬好运 好家伙这也行, 可以用bat文件写吗 删了可以吗,不然让法学院老师找你了 童话里de爱 发表于 2023-11-13 23:01
删了可以吗,不然让法学院老师找你了
大佬,我只是学习使用,啥也不干,如果你确定有问题,我就删了