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

长沙给中小企业做网站的公司html 网站添加悬浮二维码

长沙给中小企业做网站的公司,html 网站添加悬浮二维码,一个企业官网多个营销型网站,济南网络公司哪家好高校教务系统密码加密逻辑及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/14303775/

相关文章:

  • 门户网站盈利模式西安网站托管商家
  • 用vs做网站后台wordpress远程本地化
  • 陕西做网站的网络商城网站怎样做关键词优化
  • wordpress media重庆seo整站优化服务
  • 有哪些做淘宝素材的网站有哪些网站建设属不属于无形资产
  • app外包网站做社区网站用什么程序好
  • 陕西锦宇建设有限公司网站最专业的网站制作公司
  • 网络公司商标注册如何优化网站信息架构
  • 网站的反链怎么做seo怎么读
  • 手机软件开发和网站开发南宁建站热搜
  • 名站在线中信建设有限责任公司发债公告
  • 福建自己建设网站完成网站建设的心得体会
  • 江苏优质网站制作公司深圳响应式网站建设哪家好
  • 福建南平网站建设易语言可以做网站嘛
  • 中国建设网站的证件怎么查安徽省芜湖建设定额网站
  • 携程网站开发中国建设银行网站的主要功能
  • 自助建站申请申请邮箱企业邮箱
  • 网站建设印花税税率外贸soho建网站
  • 哈尔滨模板建站公司什么自己做网站
  • 怎么做网站的搜索功能如何做网站制作
  • 南阳医疗网站建设公司网站建设为什么要全款
  • 搭建 网站 模版广东省建设执业资格注册中心官方网站
  • 系统软件开发流程洛阳seo
  • 新站seo竞价全国建设工程招标信息网站
  • 建网站没有公司资质wordpress sns主题
  • 最新上线的手游seo价格查询公司
  • 提交谷歌网站如何销售自己产品方法有哪些
  • 网站建设制作设计营销 大连wordpress站群软件
  • php 读取网站文件装修公司加盟十大品牌排行榜
  • 用了mip的网站查找手机网站