高校教务系统登录页面JS分析——合肥工业大学

news2024/11/15 19:48:07

高校教务系统密码加密逻辑及JS逆向

本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。

本文仅供交流学习,勿用于非法用途。

一、密码加密基本概念

密码加密是一种保护信息安全的技术手段,它通过将明文(原始信息)转换为密文(加密后的信息),以防止未经授权的访问和篡改。常见的密码加密算法有MD5、SHA-1、SHA-256等。

1.1 加密过程

加密过程通常包括以下步骤:

  1. 密钥扩展:将密钥扩展为多个轮值,每个轮值都与明文的一部分有关。
  2. 初始轮值生成:将扩展后的密钥与轮常数进行某种运算,生成第一轮加密的密文。
  3. 多轮迭代:对密文进行多轮迭代操作,每轮操作都包括非线性函数、模运算和轮常数的变换。
  4. 最终密文:经过多轮迭代后,得到最终的密文。

1.2 解密过程

解密过程与加密过程相反,通过反向操作来恢复原始明文。通常需要知道加密时使用的密钥和算法。

二、高校教务系统密码加密逻辑分析

2.1 抓包

我们首先打开教务系统的登录页面,我们可以看到,只有学号和密码,有的高校会有验证码,或者有的高校是错误一次密码,会验证验证码。

我们打开开发者工具,尝试登录抓包,网页会返回这样的数据接口。

 我们看到只有密码被加密了,有的高校会加密用户名也就是学号,我们后面遇到再说。

2.2 分析加密参数

我们接下来,就是来分析这个密码是怎么加密的。我们全局搜索password。定位到加密的位置。

我们可以看到,加密方法在这里,调用了encryptionPwd(password),下面,我们分析它是怎么产生的。

三、JS逆向分析方法

逆向分析是指从已知的加密文本或程序中还原出原始信息的过程。在本例中,我们将使用JavaScript编写一个简单的逆向分析工具,用于逆向高校教务系统的密码。

环境使用

  • python 3.9
  • pycharm
  • node

我们全局搜索encryptionPwd,定位到加密方法的位置。我们发现这些代码都在一块。

代码实现

我们先把这些代码扣下来,运行看看缺什么补什么。

var CryptoJS = require("crypto-js");

// 密码加密
function encryptionPwd(pwd) {
    var secretKey = getCookie("LOGIN_FLAVORING"),
        key = CryptoJS.enc.Utf8.parse(secretKey),
        password = CryptoJS.enc.Utf8.parse(pwd),
        encrypted = CryptoJS.AES.encrypt(password, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7}),
        encryptedPwd = encrypted.toString();
    return encryptedPwd;
}

// 获取cookie中的值 LOGIN_FLAVORING就是加密所需要的秘钥
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');

    for(var i = 0; i < ca.length; i++)
    {
        var c = ca[i].trim();
        if (c.indexOf(name)==0)
            return c.substring(name.length,c.length);
    }
    return "";
}


console.log(encryptionPwd(12345))

我们运行之后,报错,提示我们ReferenceError: document is not defined,我们发现这里是获取cookie的值,我们可以先写死,要是想实现模拟登录,就要先从网页获取到cookie,然后,在传个这个加密函数。这里也是常规加密,是AES加密。

我们修改完代码如下:

var CryptoJS = require("crypto-js");

// 密码加密
function encryptionPwd(pwd) {
    var secretKey = getCookie("LOGIN_FLAVORING"),
        key = CryptoJS.enc.Utf8.parse(secretKey),
        password = CryptoJS.enc.Utf8.parse(pwd),
        encrypted = CryptoJS.AES.encrypt(password, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7}),
        encryptedPwd = encrypted.toString();
    return encryptedPwd;
}

// 获取cookie中的值 LOGIN_FLAVORING就是加密所需要的秘钥
function getCookie(cname) {
    var name = cname + "=";
    // var ca = document.cookie.split(';');

    var ca = [
    "JSESSIONID=bc7d281e867849ce8767b8ceaf750c7d",
    " LOGIN_FLAVORING=0ympagyta98tusie"
];//这个是cookie,想要修改
    
    for(var i = 0; i < ca.length; i++)
    {
        var c = ca[i].trim();
        if (c.indexOf(name)==0)
            return c.substring(name.length,c.length);
    }
    return "";
}

console.log(encryptionPwd(12345))

运行后实现的效果:

通过对比分析,和网页返回加密后的密码一样,说明,我们逆向成功了。就下来就是用python写代码了,这里就不过多赘述。

安装crypto-js库

使用npm或yarn来安装crypto-js

npm install crypto-js

 

四、总结

本文介绍了高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的方法。通过学习这些知识,你可以更好地理解密码加密技术的原理,并掌握一定的逆向分析技巧。请注意,逆向分析可能涉及到法律问题,请在合法范围内进行研究和实践。

五、累计更新

争取到到底更新30所高校,大家可以在评论区留言。


持续更新中

安徽工程大学

合肥工业大学

6adf31c8c5dd4e6a83314f4805b30bc1.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

干货分享|超全项目管理流程PPT汇总

我是胖圆&#xff0c;欢迎大家关注留言~ 或者移步公众号【胖圆说PM】找我~

linux放开8080端口

linux放开8080端口 输入命令&#xff1a; 查看8080端口是否开放 firewall-cmd --query-port8080/tcpno显示端口未打开&#xff0c;yes表示开启&#xff0c;linux开启防火墙默认关闭8080端口 这里是引用&#xff1a;https://blog.csdn.net/weixin_54067866/article/details/1…

虹科AR VIP研讨会 | 数字世界,视觉无界,诚邀您前来体验!

文章来源&#xff1a;虹科数字化AR 点击阅读原文&#xff1a;https://mp.weixin.qq.com/s/Q1YbpD0Mxq-KctOMALM0AA 点击链接报名&#xff1a;https://mp.weixin.qq.com/s/Q1YbpD0Mxq-KctOMALM0AA 主题速览 01 医疗保健的未来趋势&#xff1a;透过智能眼镜成像技术改善微创手术…

WorkPlus AI智能助理,基于GPT为企业提供专属的私有化部署解决方案

在当今数字时代&#xff0c;优质的客户服务是企业取得成功的重要因素之一。随着人工智能技术的不断发展&#xff0c;私有化部署AI智能客服成为企业提高客户体验、提升服务效率的新途径。WorkPlus作为领先的品牌&#xff0c;专注于提供可信赖的私有化部署解决方案&#xff0c;助…

物联网23届毕业了不想干Java转嵌入式可行吗?

物联网23届毕业了不想干Java转嵌入式可行吗? 可以的&#xff0c;现在嵌入式物联网的就业前景是比较不错的&#xff0c;物联网和嵌入式是相结合的&#xff0c;题主是电子信息工程专业的&#xff0c;小谷建议你学习嵌入式物联网&#xff0c;其覆盖的范围还是比较广的&#xff0c…

day04_方法_数组

今日内容 方法数组基础 复习 0 if(){ }else{ } if(){ }else if(){ }else if(){ }else{ } 1 循环的四要素 初始值,控制条件,迭代,循环体 2 迭代什么意思 迭代: 一次次的变化 3 for循环执行流程 (小红旗) for(int i 1;i < 11;i){ } 4 break,continue,return分别什么作用 brea…

正规的股票杠杆公司排名:安全的五大加杠杆的股票平台排行一览

在股票市场中&#xff0c;利用杠杆效应可以放大投资者的收益。然而&#xff0c;选择一个正规、可靠的杠杆公司至关重要。本篇文章将根据配查信、尚红网、倍悦网、兴盛网、诚利和、嘉正网、广瑞网、富灯网、天创网、恒正网、创通网等媒体提供的信息&#xff0c;分析并整理出正规…

我们用i.MX8M Plus开发了一个人工智能机器人小车,欢迎围观~

i.MX8M Plus的人工智能机器小车功能 AGV 小车是基于 i.MX8M Plus 为主控实现的一款双驱差速小车。从上到下由摄像头、舵机控制板、舵机、i.MX8M Plus 核心板与底板、电池、电机、轮子等组成。 i.MX8M Plus 有以下 5 个职责&#xff1a; 控制小车电机&#xff0c;负责控制小车…

智能洗衣管理系统中的RFID技术应用

一、行业背景 当前&#xff0c;酒店、医院、浴场以及专业洗涤公司面临着大量工作服和布草的交接、洗涤、熨烫、整理和储存等工序&#xff0c;如何有效地跟踪管理每一件布草的洗涤过程、洗涤次数、库存状态和布草归类等成为了一个巨大的挑战&#xff1a; 1、传统的纸面洗涤任务…

CentOS 7 基于C 连接ZooKeeper 客户端

前提条件&#xff1a;CentOS 7 编译ZooKeeper 客户端&#xff0c;请参考&#xff1a;CentOS 7 编译ZooKeeper 客户端 1、Docker 安装ZooKeeper # docker 获取zookeeper 最新版本 docker pull zookeeper# docker 容器包含镜像查看 docker iamges# 准备zookeeper 镜像文件挂载对…

相机噪声评估

当拥有一个相机&#xff0c;并且写了一个降噪的算法&#xff0c;想要测试降噪的应用效果。 相机在光线不足的情况下产生噪点的原因主要与以下几个因素有关&#xff1a; 感光元件的工作原理&#xff1a;相机的图像传感器是由数百万甚至数千万的感光元件&#xff08;如CMOS或CC…

论文研读|Robust Watermarking of Neural Network with Exponential Weighting

目录 论文信息文章简介研究动机查询修改攻击Auto-Encoder训练水印图像检测检测结果 水印图像重构 研究方法水印生成水印嵌入版权验证 实验结果保真度&#xff08;Fidelity&#xff09;有效性&#xff08;Effectiveness&#xff09;&鲁棒性&#xff08;Robustness&#xff0…

Apipost自动化测试

Apipost提供可视化的API自动化测试功能&#xff0c;使用Apipost研发人员可以设计、调试接口&#xff0c;测试人员可以基于同一数据源进行测试&#xff0c;Apipost 接口自动化功能在上次更新中进行了逻辑调整&#xff0c;带来更好的交互操作、更多的控制器选择&#xff0c;同时新…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录&#xff1a; &#x1f30d;前言&#xff1a;&#x1f30d;…

使用react-router-dom在新标签页打开链接,而不是本页跳转

一般单页面应用&#xff0c;当你使用useNavigate时候的时候&#xff0c;用useNavigate来跳转&#xff0c;只能是在当前页面刷新跳转的&#xff0c;要想单独在一个tab页打开新页面&#xff0c;大概用三种方式。 第一种 使用link标签&#xff0c;配合target实现 <Link to&q…

求臻医学官网焕新升级

嗨&#xff0c;我的朋友们~ 求臻医学官网全面焕新升级了&#xff01; 新官网能否带给您更优质、更便捷的 在线服务体验&#xff1f; 来试试看吧&#xff01; “点击重新认识下我吧”&#x1f447; www.chosenmedtech.com 全新视觉界面 不一样的体验 新官网采用简洁大气的…

C++ PCL点云局部颜色变换

程序示例精选 C PCL点云局部颜色变换 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《C PCL点云局部颜色变换》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与应用…

asp.net售后维修管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 售后维修管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语 言开发 asp.net售后维修管理系统1 二、…

网络安全就业形势怎么样?

泻药&#xff0c;以下都是我本人的肺腑之言&#xff0c;是答主深耕职场多年&#xff0c;转战数家公司总结周围朋友的从业经验才总结出来的行业真相&#xff0c;真心希望帮助到还没有步入职场的大家&#xff0c;尤其是24届的应届毕业生&#xff0c;多掌握些就业信息就能少走一些…