zoukankan      html  css  js  c++  java
  • 易班模拟登录-Day1笔记

    易班模拟登录

    参考:https://zhuanlan.zhihu.com/p/28354424

    大佬省略了一些东西,俺补充一下,学习哈哈

    1、工具:火狐浏览器

    (1) 扩展:火狐启用持续日志功能

     

     

    作用就是:页面跳转数据不自动清零

     

    二、进入易班登录页面 https://www.yiban.cn/login?go=http%3A%2F%2Fwww.yiban.cn%2F

     

    打开调试工具,右键检查元素

    在各个网络请求中进行筛选,我们只要htmlXHR格式的

     

    输入已有账号进行登录

     

    登录进去之后,可以看到地下的请求中,选择dologinAjax请求

     

    可以看到,我们登录的时候其实就是把我们的账号、密码还有captcha(输入的验证码)还有keytime手机戳进行请求,但是我们会发现账号就是我们输入的账号

    但是这个密码的话进行了加密,因为当下加密都是通过一个包来实现,我们模拟登录的话,就是要让模拟一个请求和上面的请求是一样的,也就是说我们要找到这个包,然后把我们真实的密码进行加密,然后把加密之后的密码添加到我们的配置里面,之后通过这个配置进行对服务器的请求即可了

     

    三、那怎么样得到加密的包是哪个呢?

    我们要从首页开始,先看我们点击“登录”按钮的时候调用了哪个js函数

     

    我们可以先点击退出

    重新的进入到这个页面

     

     

     

    因为我们知道,在前端html代码中会给按钮button进行命名,之后在js函数里面会对这个button名字进行一定的识别和操作,所以我们要找到这个“登录按钮”的id

     

    通过ctrl+f,输入login,就可以查到代码中对应的字段了,或者是搜索“登录”也是可以的

     

     

    就可以找到我们想要的东西了

     

    所以说这个“登录”button按钮的id就是login-btn

     

    然后我们再次回到我们登录页面

    在登录页面选择 js文件

     

     

     

    输入login

    一般软件的登录都会准备开一个login页面的,双击点进去

     

    也就是我们登录loginjs处理文件了

    Ctrl+f 搜索login,来找到我们登录的处理函数  ,或者有良心的程序员会谢注释,也可以通过“登录找到

     

     

     

    这个单词encript是”压缩加密“的意思

    所以我们猜测

     

    这里是新建了一个加密对象

    通过搜索可以知道

    https://www.cnblogs.com/ZJTL/p/13650995.html

     

    这个加密算法的话,需要一个key作为公钥

     

    可见这个g_param.keys就是它的公钥,我们在这个js文件里面通过 ctrl+f

    搜索这个公钥是什么

     

     

    可以发现是这个东西

    在看我们处理登录的函数代码可以发现,他是使用了这个对象里面的keys属性

     

     

     

     

    所以我们就可以分析这句话,会发现,这里通过jquery语法,取前端代码idlogin-pr

     

    Data-keys的数据,所以我们回到登录页面中

     

    查看源代码

     

     

    我们就找到了这个公钥了

    但是这个公钥不能写死,每次结果都是不一样的,所以我们要实时的获得这个公钥

    所以我们剩下的思路就是:

    获得登录页面html前端代码,找到idlogin-pr里面的公钥

    通过这个公钥把我们的密码进行加密,加密之后对易班服务器进行请求就行

     

    所以说我们需要两个工具类,一个是帮我们拿到前端页面并进行解析来获得我们公钥的工具类,一个就是加密算法工具类,把我们获得的公钥对我们的密码进行加密

     

     

    分别就是这两个工具类

    然后我们编写主类

  • 相关阅读:
    linux本地文件上传之RZ/SZ和sftp
    sql优化
    sql server 类oracle vm_contact() 函数创建
    sql server 执行大.sql文件
    group by having和connect by
    sql server内置函数
    oracle内置函数
    oracle字符串处理函数
    oracle字符串处理相关
    团队-象棋游戏-模块开发过程
  • 原文地址:https://www.cnblogs.com/SCAU-gogocj/p/14355665.html
Copyright © 2011-2022 走看看