浅析云南某大学门户网密码加密算法

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 浅析云南某大学门户网密码加密算法

声明

该笔记仅为学习测试记录📝,请不要通过本篇文章进行其他非法操作,文中对于一些特殊敏感的信息做了处理,仅供学习思路,贴到的代码对于ip以及域名做了处理,我爱我校!

开始

通过抓包我们发现登录的密码被加密了

而且每次算法对同一个数据不太一样,应该是密码通过解密后验证达到登录的效果

通过模拟登录发现本次的请求

http://****/sso/ssoLogin

接口返回的响应体为

{“state”:true}

再次观察下一个抓包记录

猜测这应该才是正确的登录请求,第一个应该是验证密码正确性

继续往下,我们观察该接口

http:///sso/login?service=**

响应体包含

COMSYSUIATGC=TGT-*********

Location:http://****?ticket=ST-119***********

截图

当然这个有啥用是吧,有人可能会问

通过location重定向新的地址,后面的ticket就是token

我们再返回官网f12看下,发现了个文件

打开后,令我不敢相信,密码的publickKey居然就在第一行????

var publickKey=“MIGf**********************************************************************************************************************************************************AB”;

为了验证算法它是如何加密的 ,我将门户网站登录页保存下来,

保存到桌面

通过对该网页的编辑查看,我发现密码加密的算法

$.post("/sso/ssoLogin",{"username":$(".un_input input").val(),"password":encodeURIComponent(encrypt.encrypt($(".passwd input").val()))

为了继续验证我在js里面打了

console.log();

进行输出

确定密码前输出加密后的密码

以及 获取到publickKey的代码

接下来 我保存 卡开 f12

对比发现 与jsencrypt.js中的一致

接下来验证密码算法,因为密码不唯一,所以我们不好在这里测试,刚刚忘记将密码套上encodeURIComponent()了

我套上后,模拟登陆一次

将得到的加密后的密码,通过刚刚抓包的接口发送

python代码如下(为了保护母校,ip及其有关信息就不方便放出来)

def ssologin():
    cookies = {
        'JSESSIONID': 'E3628BB0DE360FBB6F7DC6EF0A3C2525',
        'JSESSIONID': 'A61C163B10934153639B46789D6B0AA4',
        'ymu': '22313507',
    }
    headers = {
        'Host': 'ip',
        'Connection': 'keep-alive',
        # 'Content-Length': '229',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Origin': 'ip',
        'X-Requested-With': 'XMLHttpRequest',
        'User-Agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 6 Build/PPR1.180610.011;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Referer': 'http://202.203.158.158/sso/login?service=http%3A%2F%2F****%2Fj_spring_cas_security_check',
        # 'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
        # Requests sorts cookies= alphabetically
        # 'Cookie': 'JSESSIONID=E3628BB0DE360FBB6F7DC6EF0A3C2525; JSESSIONID=A61C163B10934153639B46789D6B0AA4; ymu=22313507',
    }
    data = {
        'username': '学号',
        'password': 'JunsLYUvD*******EAys=',
    }
    response = requests.post('http://*******/sso/ssoLogin', cookies=cookies, headers=headers, data=data)
    print(response.text)

运行结果

登陆成功!!

本次学习仅作为一个记录

我爱我校

相关文章
|
3月前
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
1月前
|
存储 Java 数据库
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
这篇文章介绍了如何在Java中通过加盐和加密算法(如MD5和SHA)安全地存储密码,并提供了一个密码工具类PasswordUtils和密码编码类PasswordEncoder的实现示例。
30 10
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
|
1月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
26 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
1月前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
126 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
2月前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
121 5
|
2月前
|
安全 数据安全/隐私保护 Python
情书也能加密?Python AES&RSA,让每一份数据都充满爱的密码
【9月更文挑战第8天】在这个数字化时代,情书不再局限于纸笔,也可能以电子形式在网络中传递。为了确保其安全,Python提供了AES和RSA等加密工具,为情书编织爱的密码。首先,通过安装pycryptodome库,我们可以利用AES对称加密算法高效保护数据;接着,使用RSA非对称加密算法加密AES密钥和IV,进一步增强安全性。即使情书被截获,没有正确密钥也无法解读内容。让我们用Python为爱情编织一张安全的网,守护每份珍贵情感。
48 2
|
3月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
126 1
|
3月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
74 2
|
3月前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
270 1
|
3月前
|
算法 JavaScript 前端开发
消息摘要算法:MD5加密
消息摘要算法:MD5加密
60 1