• 爬虫 — Js 逆向案例五闪职网登录


    目标网站:http://shanzhi.spbeen.com/login/

    需求:找到密码加密的过程,进行加密

    案例分析

    1、多输入几次错误的密码,查看哪些字段是加密的。

    在这里插入图片描述

    2、如何没有 Search 到相关的字段,可以在 JS 里面找一找。

    在这里插入图片描述

    3、如果看到 JS 文件里面有 eval(包裹的 js 代码),这种一般是对 JS 文件进行了加密,可以把代码复制到解密网站解密。

    点击进入解密网站

    将代码整个复制到文本区域内后,点击“解码”,将解码后的代码复制到新建的 JS 文件中。

    function doLogin() {
        var password_old = $("#MemberPassword").val();
        var encrypt = new JSEncrypt();
        var public_key = $("#pk").val();
        encrypt.setPublicKey(public_key);
        var pass_new = encrypt.encrypt(password_old);
        $("#MemberPassword").val(pass_new);
        $("#login_button").submit()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4、分析发现 $("#MemberPassword").val() 是输入的密码,所以可以直接把这部分换成密码后运行代码。

    function doLogin() {
        var password_old = '123456';
        var encrypt = new JSEncrypt();
        var public_key = $("#pk").val();
        encrypt.setPublicKey(public_key);
        var pass_new = encrypt.encrypt(password_old);
        $("#MemberPassword").val(pass_new);
        $("#login_button").submit()
    }
    console.log(doLogin())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5、运行后报错。

    var encrypt = new JSEncrypt();
                      ^
    ReferenceError: JSEncrypt is not defined
    
    • 1
    • 2
    • 3

    6、这个可以直接安装模块,在文件所在文件夹的地址栏输入 cmd 后回车,输入命令 cnpm install node-jsencrypt 安装模块,安装模块后导入模块。

    const JSEncrypt = require('node-jsencrypt')
    
    function doLogin() {
        var password_old = '123456';
        var encrypt = new JSEncrypt();
        var public_key = $("#pk").val();
        encrypt.setPublicKey(public_key);
        var pass_new = encrypt.encrypt(password_old);
        $("#MemberPassword").val(pass_new);
        $("#login_button").submit()
    }
    console.log(doLogin())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    7、这里面的 public_key 是公钥,可以在网页源码中找到。

    在这里插入图片描述

    const JSEncrypt = require('node-jsencrypt')
    function doLogin() {
        var password_old = '123456';
        var encrypt = new JSEncrypt();
        var public_key = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaP+rYm6rqTMP565UmMU6YXq46KtAN3zwDSO8LNa15p0lJfsaY8jXY7iLsZqQZrGYr2Aayp6hYZy+Q+AMB/VUiSpD9ojPyOQ7r9jsf9jZbTOL4kj6iLZn37fEhp4eLvRgy5EJCyQoFyLCsgLechBTlYl2eA95C3j4ZUFhiV6WFHQIDAQAB';
        encrypt.setPublicKey(public_key);
        var pass_new = encrypt.encrypt(password_old);
        $("#MemberPassword").val(pass_new);
        $("#login_button").submit()
    }
    console.log(doLogin())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    8、返回一下加密后的密码。

    const JSEncrypt = require('node-jsencrypt')
    function doLogin() {
        var password_old = '123456';
        var encrypt = new JSEncrypt();
        var public_key = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaP+rYm6rqTMP565UmMU6YXq46KtAN3zwDSO8LNa15p0lJfsaY8jXY7iLsZqQZrGYr2Aayp6hYZy+Q+AMB/VUiSpD9ojPyOQ7r9jsf9jZbTOL4kj6iLZn37fEhp4eLvRgy5EJCyQoFyLCsgLechBTlYl2eA95C3j4ZUFhiV6WFHQIDAQAB';
        encrypt.setPublicKey(public_key);
        var pass_new = encrypt.encrypt(password_old);
        return pass_new
        // $("#MemberPassword").val(pass_new);
        // $("#login_button").submit()
    }
    console.log(doLogin())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    运行结果:
    YUhGv7Ja7VNJDkAjLRmwTa2YYfcZvabqvBuvN04y7RgjVs2Y5xXgsyGvnj9+UwGvyY/n0Q5nb1ZVov0gtNTDg7hek3Xbv3Q3segAdY+klsdJDoAipv7v6KWAp0xmPKLMlUv94vPWljAft+Mlhzfz0XXm3QMM7hsC43OxVOA1qsA=

    过无限 debug

    在这里插入图片描述

    记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~

  • 相关阅读:
    vue3问题记录(持续更新)
    FinClip PC 终端支持更新,现已兼容抖音与支付宝小程序
    stm32逆向入门
    三甲川荧光染料Cy3DIGE NHS ester,Cy3DIGE琥珀酰亚胺活化酯,Cyanine3DIGE 活化酯,Ex:555nmEm:569nm
    PICO《轻世界》体验:随心畅玩,洒脱创作,潜力无限
    GBase 8a 部署(centos8)
    【C++】开源:格式化库fmt配置与使用
    简单个人静态HTML网页设计作品——广西北海家乡旅游景点 10页 DIV布局个人介绍网页模板代码 DW个人网站制作成品 web网页制作与实现
    Allegro如何输出IDF文件操作指导
    2┃音视频直播系统之浏览器中通过 WebRTC 拍照片加滤镜并保存
  • 原文地址:https://blog.csdn.net/muyuhen/article/details/133002280