高校教务系统登录页面JS分析——长沙理工大学教务系统-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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

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

本文将是本专栏最后一篇文章我看了绝大多数高校的网站都差不多甚至有的学校用的系统都是一样的我们就不去一一介绍了今天这个网站我还是第一次遇到感谢大家的支持。

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

一、密码加密基本概念

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

1.1 加密过程

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

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

1.2 解密过程

解密过程与加密过程相反通过反向操作来恢复原始明文。通常需要知道加密时使用的密钥和算法。我最近更新了两篇关于解密的文章大家感兴趣可以查看。

〖Python网络爬虫实战㊲〗- JavaScript 逆向实战一

〖Python网络爬虫实战㊳〗- JavaScript 逆向实战二

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

2.1 抓包

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

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

2.2 分析加密参数

我们接下来就是来分析这个密码是怎么加密的。我们全局搜索encoded。定位到加密的位置。我们这里只有这个参数被加密了。我们猜测这个包含了用户的账号和密码信息。

我们看到这里加密逻辑不难我们直接扣下来。

三、JS逆向分析方法

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

环境使用

  • python 3.9
  • pycharm
  • node

实现代码

//!NODE.JS 18.16
// _*_ coding: utf-8 _*_
//
//  Copyright (C) 2022 - 2023 BROKEN, Inc. All Rights Reserved 
//
// @Time    : 2023/11/10 22:34
// @Author  : 爱吃饼干的小白鼠
// @File    : 长沙理工大学.JS
// @IDE     : PyCharm
// @Blog    : https://broken.blog.csdn.net/

var dataStr = 'b1xw317225n2q82m080193i24ja9ea20qmmc7LLYXG#31323121312313313213'
var scode=dataStr.split("#")[0];
var sxh=dataStr.split("#")[1];
var userAccount = '1234' //账号
var userPassword = '1234'
var code=userAccount+"%%%"+userPassword;
var encoded="";
for(var i=0;i<code.length;i++){
	if(i<20){
		encoded=encoded+code.substring(i,i+1)+scode.substring(0,parseInt(sxh.substring(i,i+1)));
		scode = scode.substring(parseInt(sxh.substring(i,i+1)),scode.length);
	}else{
		encoded=encoded+code.substring(i,code.length);
		i=code.length;
	}
}

console.log(encoded)

这行代码是在将 code 字符串和 scode 字符串的一部分拼接到 encoded 字符串上。

具体来说

  • code.substring(i,i+1) 是从 code 字符串中提取一个子字符串从索引 i 开始长度为 1
  • scode.substring(0,parseInt(sxh.substring(i,i+1))) 是从 scode 字符串中提取一个子字符串从索引 0 开始长度为 parseInt(sxh.substring(i,i+1))sxh.substring(i,i+1) 提取 sxh 中的一部分子字符串然后 parseInt() 将其转换为整数。

然后这两个子字符串被拼接起来并附加到 encoded 字符串的末尾。


我们这里只要简单修改一下就可以了这里的dataStr每次的值都不一样目前我还没有找到是怎么生成的等后面找到了我会补齐这一块。

四、总结

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

五、累计更新

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

往期作品可以查看专栏

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

6adf31c8c5dd4e6a83314f4805b30bc1.jpg

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6