使用Java模拟登录KINGOSOFT青果教务系统(湖北三峡职业技术学院)

本文详细分析了湖北三峡职业技术学院青果教务系统的登录流程,包括前端的用户输入验证、加密算法解析,如MD5和Base64。文章深入探讨了密码和验证码的加密过程,并解释了模拟登录所需的关键步骤,为后续使用Java实现模拟登录奠定了基础。
摘要由CSDN通过智能技术生成

前言

首先,我们学校的教务系统是青果的教务系统,KINGOSOFT 教务系统应该是青果的新版本的教务系统。不知道为什么是英文,也许是英文显得比较厉害一点。

其次,我们学校的教务系统长这个样子

在这里插入图片描述

这个样子

在这里插入图片描述

以及这个样子的

在这里插入图片描述

分析登录流程

0x1

我们要做到模拟登录,那么就应该是模拟真实的用户来进行登录,那么我们就来先分析一下他的登录逻辑。

  • 通过元素审查,可以发现,在用户点击登录按钮之后,页面执行了这个 doLogon() 的方法,那么我们就进入这个方法看看,这个方法到底做了些什么事情

在这里插入图片描述

  • 我们使用调试器查找到这个方法的具体位置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这是 doLogon() 方法的 js 代码

function doLogon() {
   
	
	// 输入信息验证
	if (!validate()) {
   
		return false;
	}
	
	// 验证码正确性验证
	var username = j$("#yhmc").val();
	var password = j$("#yhmm").val();
	var randnumber = j$("#randnumber").val();
	var passwordPolicy = kutil.isPasswordPolicy(username, password);
	var url = _webRootPath + "cas/logon.action";
	password = hex_md5(hex_md5(password)+hex_md5(randnumber.toLowerCase()));
	/**
	var params = {
					"yhmc" : username,
					"yhmm" : password,
					"randnumber": randnumber,
					"isPasswordPolicy" : passwordPolicy
				};
	*/				
	var p_username = "_u"+randnumber;
	var p_password = "_p"+randnumber;
	username = base64encode(username+";;"+_sessionid);
	var params = p_username+"="+username+"&"+p_password+"="+password+"&randnumber="+randnumber+"&isPasswordPolicy="+passwordPolicy ;
	//alert("params="+params);
	params = getEncParams(params); 
	//alert("encparams="+params);
	doPreLogon();					
	kutil.doAjax(url, params, doPostLogon);					
	
	function doPreLogon(){
   
		j$("#msg").html("正在登录......");
		j$("#login").attr("disabled", true); 
		j$("#reset").attr("disabled", true);
	}

	function doPostLogon(response) {
   
		var data = JSON.parse(response); 
		var status = data.status ;
		var message = data.message ;
		if ("200" == status) {
   
			var result = data.result ;
			window.document.location.href = result ;
		} else {
   
			reloadScript("kingo_encypt",_webRootPath+"custom/js/SetKingoEncypt.jsp"); 		
			if("407" == status){
   
				alert(message);
				showMessage("");
			}else{
   
				showMessage(message);
			}
			j$("#login").attr("disabled", false); 
			j$("#reset").attr("disabled", false)
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值