当前位置: 首页 > news >正文

北京建设工程网站中国建设人才网证书查询网址多少

北京建设工程网站,中国建设人才网证书查询网址多少,推广普通话宣传标语,贵州省网站节约化建设通知高校教务系统密码加密逻辑及JS逆向 本文将介绍南京邮电大学教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习#xff0c;勿用于非法用途。 一…高校教务系统密码加密逻辑及JS逆向 本文将介绍南京邮电大学教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习勿用于非法用途。 一、密码加密基本概念 密码加密是一种保护信息安全的技术手段它通过将明文原始信息转换为密文加密后的信息以防止未经授权的访问和篡改。常见的密码加密算法有MD5、SHA-1、SHA-256等。 1.1 加密过程 加密过程通常包括以下步骤 密钥扩展将密钥扩展为多个轮值每个轮值都与明文的一部分有关。初始轮值生成将扩展后的密钥与轮常数进行某种运算生成第一轮加密的密文。多轮迭代对密文进行多轮迭代操作每轮操作都包括非线性函数、模运算和轮常数的变换。最终密文经过多轮迭代后得到最终的密文。 1.2 解密过程 解密过程与加密过程相反通过反向操作来恢复原始明文。通常需要知道加密时使用的密钥和算法。 二、高校教务系统密码加密逻辑分析 2.1 抓包 我们首先打开教务系统的登录页面我们可以看到只有学号和密码有的高校会有验证码或者有的高校是错误一次密码会验证验证码。 2.2 无限debugger 我们在打开开发者工具的时候会发现有debugger我在这里顺便教一下大家怎么绕过它。 第一个debugger 右击图示位置点击永不在此断点。 第二个debugger 这里的操作和前面一样的。 第三个debugger 这里发现用上面的方法不好使了我先说解决方法 直接在console输入以下代码步骤如下 打开F12点击Console 输入下面代码后回车 (function(){}).constructor  Function 如果返回的是true继续输入并回车 Function.prototype.constructor  function(){} 切换回sources选项卡,点击继续执行无限debugger的问题就解决了 注意如果第二步返回的是false,则此方法不可用。 constructor是一个特殊的方法用于在创建一个对象时对其进行初始化。构造器constructor的作用是初始化对象的属性和方法以便在创建对象时可以使用这些属性和方法。在JavaScript中使用constructor定义一个构造器函数通过这个构造器函数可以创建多个对象。在使用new关键字创建对象时会自动调用构造函数从而完成对象的初始化。这里是构造了debugger所以前面的方法不能用。 我们打开开发者工具尝试登录抓包网页会返回这样的数据接口。 我们可以看到用户名和密码是一样的也就是说加密方法也是一样的因为我们用户名和密码是一样的通过加密之后得到的值也是一样的。 2.2 分析加密参数 我们接下来就是来分析这个密码是怎么加密的。我们全局搜索password。定位到加密的位置。 我们可以看到这里用了encrypt函数把输入的用户名和密码和checkkey一起传给了这个函数。我们接下来就是定位encrypt。 看到这里是不是觉得有点眼熟是的这个加密方法和我们前面讲到的皖西学院是一样的可以直接拿来用。 三、JS逆向分析方法 逆向分析是指从已知的加密文本或程序中还原出原始信息的过程。在本例中我们将使用JavaScript编写一个简单的逆向分析工具用于逆向高校教务系统的密码。 环境使用 python 3.9pycharmnode 我们全局搜索encrypt我们可以定位到这个函数我们接下来就是扣这个函数吗看缺什么补什么。 代码实现 我们先把这些代码扣下来运行看看缺什么补什么。 var CryptoJS require(crypto-js);var password encrypt(1234, 1697346526649)function encrypt(msg, checkkey) {var base64 new Base64();var key CryptoJS.enc.Base64.parse(base64.encode(iam checkkey));var iv CryptoJS.enc.Base64.parse(base64.encode(iam checkkey));var encrypted CryptoJS.AES.encrypt(msg, key, {iv: iv,padding: CryptoJS.pad.Pkcs7,mode: CryptoJS.mode.CBC});var cipherText encrypted.ciphertext.toString();return cipherText }function Base64() {// private property_keyStr ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/;// public method for encodingthis.encode function (input) {var output ;var chr1, chr2, chr3, enc1, enc2, enc3, enc4;var i 0;input _utf8_encode(input);while (i input.length) {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);}return output;}// public method for decodingthis.decode function (input) {var output ;var chr1, chr2, chr3;var enc1, enc2, enc3, enc4;var i 0;input input.replace(/[^A-Za-z0-9\\/\]/g, );while (i input.length) {enc1 _keyStr.indexOf(input.charAt(i));enc2 _keyStr.indexOf(input.charAt(i));enc3 _keyStr.indexOf(input.charAt(i));enc4 _keyStr.indexOf(input.charAt(i));chr1 (enc1 2) | (enc2 4);chr2 ((enc2 15) 4) | (enc3 2);chr3 ((enc3 3) 6) | enc4;output output String.fromCharCode(chr1);if (enc3 ! 64) {output output String.fromCharCode(chr2);}if (enc4 ! 64) {output output String.fromCharCode(chr3);}}output _utf8_decode(output);return output;}// private method for UTF-8 encoding_utf8_encode function (string) {string string.replace(/\r\n/g, \n);var utftext ;for (var n 0; n string.length; n) {var c string.charCodeAt(n);if (c 128) {utftext String.fromCharCode(c);} else if ((c 127) (c 2048)) {utftext String.fromCharCode((c 6) | 192);utftext String.fromCharCode((c 63) | 128);} else {utftext String.fromCharCode((c 12) | 224);utftext String.fromCharCode(((c 6) 63) | 128);utftext String.fromCharCode((c 63) | 128);}}return utftext;}// private method for UTF-8 decoding_utf8_decode function (utftext) {var string ;var i 0;var c c1 c2 0;while (i utftext.length) {c utftext.charCodeAt(i);if (c 128) {string String.fromCharCode(c);i;} else if ((c 191) (c 224)) {c2 utftext.charCodeAt(i 1);string String.fromCharCode(((c 31) 6) | (c2 63));i 2;} else {c2 utftext.charCodeAt(i 1);c3 utftext.charCodeAt(i 2);string String.fromCharCode(((c 15) 12) | ((c2 63) 6) | (c3 63));i 3;}}return string;} }console.log(password) 我们这里的checkkey要和网页一样的大家感兴趣的话可以去看看这个是怎么生成的。 var password encrypt(1234, 1697346526649) 实现效果 647de9a60f4ac07444fd45625f6cefab四、总结 本文介绍了高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的方法。通过学习这些知识你可以更好地理解密码加密技术的原理并掌握一定的逆向分析技巧。请注意逆向分析可能涉及到法律问题请在合法范围内进行研究和实践。 五、累计更新 争取到到底早日更新30所高校大家可以在评论区留言。 往期作品可以查看专栏 全国高校教务系统登录页面JS分析_爱吃饼干的小白鼠的博客-CSDN博客
http://www.hkea.cn/news/14577979/

相关文章:

  • 网站公司架构花瓣设计网站官网入口
  • 分布式加载网站的静态9 12米农村自建房设计图
  • 石家庄工信部网站备案做网站最多的行业
  • 国内个人网站2023企业所得税300万以上
  • 咨询服务网站源码手机端网页设计规范
  • 潍坊知名网站建设怎么收费平面设计接单报价表
  • 网站开发公司网站官网网站怎么挖掘关键词
  • 做网站用go语言还是phpwordpress 文章跳转
  • 百度站长提交网址桂林市教育局
  • 网站模板 在哪购买wordpress 播放音频
  • 退役军人事务部网站建设红阳建设集团网站
  • 东莞企业做网站泰安网站建设工作室
  • 怎么建立自己的自媒体平台wordpress js优化
  • 网站建设公司antnw福州网红餐厅
  • 模仿建设银行网站男人和女人做羞羞的事情网站
  • 做网站赚钱吗 怎么赚网页无法访问错误代码6
  • 西安建立公司网站的步骤wordpress浮动快捷
  • 网站宣传方法建站推广什么意思
  • 威海做网站推广的企业网络营销是干嘛的
  • 网站建设大德州建设街小学网站
  • 品牌建设的过程seo建设者
  • 舞钢做网站大型网站技术架构演进与性能优化
  • 网站建设业务活动wordpress 关闭搜索引擎
  • 抽奖的网站怎么做wordpress 获取文章摘要
  • 免费做网站软件视频专业网站建设服务商
  • 扬州网站建设电话制作网站的方法
  • 看到一个电商网站帮做淘宝乌班图系统做网站
  • 工作室网站建设要多大内存电子书新手学做网站
  • 外贸英文网站建设建网站的软件
  • 网站建设论文结尾项目网络技术