广金强智教务系统模拟登录

文章目录

  • 网站首页
  • 表单提交
  • java实现加密
  • 验证结果
  • 验证码问题
  • 登录请求

网站首页

在这里插入图片描述

表单提交

f12查看提交发现有encodeInp()加密字符串

在这里插入图片描述
在这里插入图片描述

java实现加密

conwork.js

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function encodeInp(input) {var output = "";var chr1, chr2, chr3 = "";var enc1, enc2, enc3, enc4 = "";var i = 0;do {chr1 = input.charCodeAt(i++);chr2 = input.charCodeAt(i++);chr3 = input.charCodeAt(i++);enc1 = chr1 >> 2;enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);enc4 = chr3 & 63;if (isNaN(chr2)) {enc3 = enc4 = 64} else if (isNaN(chr3)) {enc4 = 64}output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);chr1 = chr2 = chr3 = "";enc1 = enc2 = enc3 = enc4 = ""} while (i < input.length);return output
}

定义接口Methods

public interface Methods {public String encodeInp(String input);}

编写playJs方法

public static String playJs(String str) {ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("js");try {engine.eval(new FileReader("conwork.js"));if (engine instanceof Invocable) {Invocable invocable = (Invocable) engine;Methods executeMethod = invocable.getInterface(Methods.class);return executeMethod.encodeInp(str);}} catch (Exception e) {e.printStackTrace();}return null;
}

验证结果

在这里插入图片描述
在这里插入图片描述

验证码问题

拿着访问网页时cookie去请求验证码网址,用Jsoup去解析转换成字节数组,然后直接调用百度文字识或者去找找其他识别算法识别

public static byte[] getYzmCode(Map<String, String> cookie) throws Exception {Connection.Response execute = Jsoup.connect("http://jwxt.gduf.edu.cn/jsxsd/verifycode.servlet?t=" + Math.random()).ignoreContentType(true).cookies(cookie).execute();return execute.bodyAsBytes();}

登录请求

登录接口(POST):http://jwxt.gduf.edu.cn/jsxsd/xk/LoginToXk
携带:"encoded""RANDOMCODE"cookie
cookie就是请求验证码的那个cookie


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部