高校教务系统登录页面JS分析——西安外国语大学教务系统

news2024/11/23 12:42:06

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

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

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

一、密码加密基本概念

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

1.1 加密过程

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

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

1.2 解密过程

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

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

2.1 抓包

我们首先打开西安外国语大学教务系统的教务系统的登录页面,我们直接百度搜索这个学校的教务系统就可以看到,点进去之后,我们可以看到,只有学号和密码,有的高校会有验证码,或者有的高校是错误一次密码,会验证验证码。

我们打开开发者工具,尝试登录抓包,网页会返回这样的数据接口。我们用户名和密码都是默认输入1234,你也可以输入其他的。

2.2 分析加密参数

我们接下来,就是来分析这个密码是怎么加密的。我们全局搜索password。定位到加密的位置。我们这里只有这个密码参数被加密了.

我们看到这里,就知道网站是用哈希加密算法,我们已经遇到了很多次了,我早就简单带过了,不会的可以看之前的文章。

三、JS逆向分析方法

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

环境使用

  • python 3.9
  • pycharm
  • node

实现代码

这里的代码比较简单,而且又是常规加密,我们只要调用crypto-js库就好了,不用自己扣代码。

var CryptoJS = require("crypto-js");
 
var a = CryptoJS.SHA1('e09eb802-c594-4b35-bbf1-6f904359c02a-'+'1234').toString();
console.log(a)

这段代码是使用CryptoJS库进行SHA1哈希加密的示例。首先,通过require("crypto-js")引入CryptoJS库。然后,使用CryptoJS.SHA1()方法对字符串'00c7c6b1-8f30-4dd9-b45d-ae5c1f186c9e-12345'进行SHA1哈希加密。最后,将加密结果转换为字符串并输出到控制台。

安装crypto-js库

使用npm或yarn来安装crypto-js:

npm install crypto-js

我们看一下运行效果: 

3e9c82035b78c47609eeb455abecafb12a7612d6

哈希加密

哈希加密是一种将任意长度的消息(明文)压缩成固定长度的哈希值(密文)的算法。哈希函数将输入明文经过一系列计算后,输出一个固定长度的密文,该密文通常用于验证数据完整性和防篡改。哈希加密算法的特点是不可逆,即无法从密文还原出明文,也就是说,每个不同的明文输入都会得到一个唯一的密文输出。常见的哈希加密算法有MD5、SHA-1、SHA-2等。

SHA-1简介

SHA-1是一种密码学哈希函数,它接受任意长度的输入(消息),并生成一个固定大小(160位)的输出,称为哈希值。SHA-1加密的过程包括以下几个步骤:

  1. 填充:首先对输入消息进行填充,以确保其长度是512位的倍数。这是通过添加一个1位,后跟零,直到长度比512的倍数少64位为止来完成的,最后64位保留为原始消息的长度。
  2. 分成块:然后将填充的消息分成512位块。
  3. 初始化:160位消息摘要初始化为由SHA-1算法指定的固定值。
  4. 压缩:然后通过迭代一个压缩函数来处理每个块,将当前块与当前消息摘要组合起来,以生成新的消息摘要。该过程为每个块重复执行,每次更新消息摘要。
  5. 最终化:一旦所有块都已处理完,就通过将原始消息的长度附加到消息摘要上,并应用最终哈希操作来获取最终消息摘要。

生成的哈希值可用于数据完整性、数字签名和其他安全应用程序。然而,正如前面提到的,SHA-1不再被认为对抗碰撞攻击是安全的,应该被更新和更强的哈希算法如SHA-2或SHA-3替代。

四、总结

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

五、累计更新

争取到到底早日更新30所高校,大家可以在评论区留言。前期更的可能会多一点,有的学校教务系统都没有加密,我这里就不写了,还有,部分学校的教务系统已经和我之前写的是一样的,我也不重复赘述了。

往期作品可以查看专栏👇👇👇

全国高校教务系统登录页面JS分析_爱吃饼干的小白鼠的博客-CSDN博客

6adf31c8c5dd4e6a83314f4805b30bc1.jpg

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

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

相关文章

学习笔记:CANOE模拟LIN主节点和实际从节点进行通信测试

先写点感想,在LIN开发阶段,我一般用图莫斯USB工具来进行模拟主机节点发送数据。后来公司买了CANOE工具就边学习边搭建了LIN的测试工程,网上的资料真的很少,主要是靠自己一点点摸索前进,总算入门。几个月后的今天&#…

网工内推 | 售后工程师,IP认证优先,最高15薪,年底有分红

01 威发系统(中国)有限公司 招聘岗位:售后工程师 职责描述: 1、负责各种规模的项目售后安装、调试和维护工作; 2、解决工程和维护中的一般技术问题,支持、协助处理其他相关的技术问题; 3、与…

如何像优秀测试人员那样思考?

优秀测试和普通测试之间的差别在于测试人员如何思考:测试人员的测试设计选择,解释所观察到的能力,以及非常令人信服地分析描述这些现象的能力。 然而,在实际工作中,我们更多的看到了测试人员在电脑前点点点&#xff0…

文件批量改名:轻松批量重命名快手素材文件,提高工作效率

文件名太长,文件太多有什么办法可以一键改名呢? 在日常繁琐的工作中,我们经常需要整理大量的文件,而为了更高效地管理和快速查找,对文件进行重命名显得尤为关键。然而,传统的手动逐个重命名方式不仅耗时&a…

算法学习打卡day41|栈和队列:栈和队列相互实现、括号匹配、逆波兰表达式、滑动窗口最大值问题、求前 K 个高频元素

栈和队列相互实现 力扣题目链接:用栈实现队列、用队列实现栈 题目描述: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(…

2 任务2: 使用趋动云GPU进行猫狗识别实践

使用趋动云GPU进行猫狗识别实践 1 创建项目2 初始化开发环境3 调试代码4 提交离线任务5 结果集存储与下载 使用趋动云提供的免费GPU,进行猫狗识别实践。 虽然例程里面提供的是基于tensorflow的,但是你也可以使用pytorch的代码 使用这个平台的一个优点就是…

1-前端基本知识-CSS

1-前端基本知识-CSS 文章目录 1-前端基本知识-CSS总体概述什么是CSS?CSS引入方式行内式内嵌式连接式/外部样式表 CSS选择器元素选择器id选择器class选择器(使用较广) CSS浮动CSS定位静态定位:static绝对定位:absolute相…

“精准分割视频,误差降低至零——视频剪辑的新革命!”

在数字媒体的时代,视频剪辑已经成为我们日常生活和工作中不可或缺的一部分。无论是制作一部电影、剪辑一个纪录片,还是编辑一个家庭视频,我们都需要一个精准、高效的视频剪辑工具。今天,我们向您推荐一款全新的视频剪辑软件——精…

[NLP] 使用Llama.cpp和LangChain在CPU上使用大模型

一 准备工作 下面是构建这个应用程序时将使用的软件工具: 1.Llama-cpp-python 下载llama-cpp, llama-cpp-python [NLP] Llama2模型运行在Mac机器-CSDN博客 2、LangChain LangChain是一个提供了一组广泛的集成和数据连接器,允许我们链接和编排不同的模块。可以常…

关于卷积神经网络的步幅(stride)

认识步幅(stride) 卷积核从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动,我们将每次滑动的行数和列数称为步幅。 计算步幅 假设输入的形状n∗n,卷积核的形状为f∗f&#xff0…

域渗透06-协议(NTLM hash利用)

前言: 当我们获取到一台域内主机打算干什么,毫无疑问当然是拿域控,如果域控未发现漏洞应该怎么办,首先我们需要查看我们拿到主机的权限和在域中的组,如果本机权限够我们就需要利用工具抓取本机的hash,然后…

HCIE-CCE

1、创建集群 svc网络,10.247 pod网络,10.244 节点网络,192.168.66(master和node一致) 2、创建节点 上面集群选择了最新版本1.27,CCE从1.27版本开始不再支持docker容器引擎,仅支持containered&…

渗透实战靶机3wp

0x00 简介 目标IP:xxxx.95 测试IP:xxxx.96 测试环境:win10、kali等 测试时间:2021.7.23-2021.7.26 测试人员:ruanruan 0x01 信息收集 1、端口扫描 21,ftp,ProFTPD,1.3.3c22&a…

Oracle 安装及 Spring 使用 Oracle

参考内容: docker安装oracle数据库史上最全步骤(带图文) Mac下oracle数据库客户端 Docker安装Oracle docker能安装oracle吗 Batch script for add a auto-increased primary key for exist table with records Docker 安装 Oracle11g 注意&a…

基于单片机的甲醛检测器设计

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计4.1 程序结构流程图原理图 四、结论五、 文章目录 概要 本文将要提…

餐饮软件开发价格受到需求的影响!

随着科技的进步和互联网的普及,餐饮行业也逐渐实现了数字化转型,越来越多的餐厅开始引入餐饮软件来提升服务质量、提高效率、拓展销售渠道等。 而对于许多初创餐厅或餐饮企业来说,开发一款适合自己的餐饮软件的价格一直是他们关注的焦点&…

NtripShare Caster高精度定位CORS服务软件

NtripShare CORS是NtripShare GNSS系列软件中最早的软件系统,也是NtripShare名称的起源。 所谓GNSS CORS服务系统一般构成: 1)基准站网:由若干个分布合理的GNSS 基准站组成; 2)数据传输系统:…

基于springboot垃圾分类管理系统

基于springboot垃圾分类管理系统 摘要 垃圾分类管理系统是一个基于现代技术和数据管理方法的解决方案,旨在协助城市和社区更有效地管理垃圾分类。在这个系统中,Spring Boot框架充当了后端应用程序的构建工具,为其提供了高度灵活的特性。该系统…

运算符与运算表达式

运算符的结合性和优先级: 结合性: 所有的单目运算符、条件运算符、赋值运算符及扩展运算符,结合方向都是从右向左,其余运算符的结合方向是从左向右。 优先级: 初等运算符>单目运算符>算数运算符(…

卡牌游戏类型定制开发微信卡牌小程序游戏

卡牌类型的游戏开发具有一些独特的特点和挑战,以下是一些主要的特点: 卡牌设计和平衡:卡牌游戏的核心是卡牌设计和平衡。开发团队需要设计各种卡牌,确保它们在游戏中相互平衡,以便提供有趣的游戏体验。卡牌的特性、效…