广金强智教务系统模拟登录
文章目录
- 网站首页
- 表单提交
- 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
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
