js逆向加密五邑大学教务系统密码AES实现模拟登录(仅供参考)

        最近下班无聊,就看了一下之前写的教务系统模拟登录代码(python-爬虫),整体逻辑大概自己总结了一下:

        1.请求验证码图片。

        2.对输入的密码进行加密。

        3.封装账号,密码,验证码,发送post请求

但是在第2步的时候对输入的密码进行加密的过程中,我使用的方法是:

from Crypto.Cipher import AES

没错,就是调用python-Crypto.Cipher库中的AES,进行对密码进行加密处理,但是最近在工作上看到几个网站是带有js加密的进行加密处理,后面我就用到了js逆向解密解决了模拟登录的问题,后来我就想到能不能直接利用js逆向解决教务系统的AES密码加密操作,于是开始了实践:

一,网站抓包,分析请求

        我们可以看到其登录发起的请求是post请求(简注:需要带参数的请求),于是我们可以想到可以用post发送相应的参数进行模拟登录。

二,js逆向加密密码

1,基于上面的过程我们看到了上面的参数数值:

{

        account:

        password:

   verifycode:

}

通过分析,我们可以知道其参数只用对密码加密,其他数值都是明文,于是我们就可以对其进行加密:

================================重点部分=================================

首先,我们通过参数pwd进行索引,找到源代码中对密码加密的地方:

于是我们找到了js加密部分,于是我们打个断点找到其加密代码。

 根据其打的断点,我们可以看到,其关联的js加密即可跳转

我们看到在我们打的断点前,其密码是明文,于是我们知道在下面这段代码中就是对密码加密的过程,于是我们进入到内部。

        其js加密涉及到encrypt函数,看到这个代码我们就比较熟悉了,在加密时候我们就涉及到了这个函数,于是我们知道,这个函数一定涉及加密过程,于是将这个代码进行调试

。。。。。。。。按照上述断点方法,我们就可以写出我们的js调试代码了(里面有很多坑,本教程仅提供思路)

        经过多个断点以及分析,我们得到最终的js代码:

进行返回 我们的也得到了加密数据,我们对js代码进行封装,于是得到:

进行写入wuy.js,放入将要写发送网络请求的同一文件夹下。

 三,发送网络请求

 1,创建一个js类,将js代码功能封装:

封装好js代码之后,我们可以进行发送网络请求了

以上代码是测试代码,将验证码图片先获取,手动输入验证码及密码之后,密码加密措施利用封装好的类进行调用。最后,我们运行一次,可以看到教务系统返回我们的信息:

好了,大功告成!!!,可以抓取教务系统的各种数据的抓取了。

(以上教程仅供技术学习,不得用于其他用途。)

 若有任何问题,可联系本人

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NorthGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值