【解密】记一次辽宁省某综合实践教学管理平台加解密算法分析
创始人
2025-01-08 12:34:36
0

最近接到需求,于是准备弄一下,发现对方整个流程是:先加密在请求,请求得到的数据再进行拼接加密,不过花了2个小时还是完成了解密 哈哈

找到请求发现请求数据加密在这里插入图片描述

在启动器里面发现登录方法
在这里插入图片描述

打印出各个关键变量数据
在这里插入图片描述

检索Encrypt方法

url: "Sys/Login",      data: {       data: o.default.Encrypt(JSON.stringify({      a: t,      p: e     }), "al_bb#sg9kl^d_qn")    } 

得到key和iv向量

在这里插入图片描述
发现是AES加密
在这里插入图片描述

python代码

from Crypto.Cipher import AES from Crypto.Util.Padding import pad import json  def encrypt(data, key, iv):     # Convert strings to bytes     key_bytes = key.encode('utf-8')     iv_bytes = iv.encode('utf-8')     data_bytes = data.encode('utf-8')      # Pad the data     padded_data = pad(data_bytes, AES.block_size, style='pkcs7')      # Create cipher     cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)      # Encrypt data     encrypted_bytes = cipher.encrypt(padded_data)      # Convert encrypted bytes to uppercase hex string     encrypted_hex = encrypted_bytes.hex().upper()      return encrypted_hex  # 用户名和密码 t = "20*****211" e = "******"  # 加密前的数据 data_to_encrypt = json.dumps({     "a": t,     "p": e })  print(data_to_encrypt)  # 使用JavaScript中的密钥和IV key = "***********" iv =  "***********"  # 加密数据 encrypted_data = encrypt(data_to_encrypt, key, iv)  # 打印加密后的数据 print("加密后的数据:", encrypted_data)  

在这里插入图片描述
加密数据与原数据不太相符,但是请求后结果是一样的,可以返回uid和sid
在这里插入图片描述

以为到这里就完了??
在这里插入图片描述

发现得到的sid和uid没有卵用,那怎么办呢?继续找关联的js

在这里插入图片描述

发现这里有加密方法,

  SessionCode: "" != this.GetStorage("sid") ? d.Encrypt("".concat(this.GetStorage("sid"), "$$$$$").concat(this.GetStorage("uid"))) : "", 

这不是有手就行?

再次加密一次

假设 sid 是 ‘sjdl_fd0f63aaf4bcd7ad16c1’,uid 是 ‘28ff7e4ac021f4adf2fc’。

拼接字符串
按照代码逻辑,需要将 sid 和 uid 用 $$$$$ 连接起来,形成一个新的字符串:

sid = 'sjdl_fd0f63aaf4bcd7ad16c1' uid = '28ff7e4ac021f4adf2fc'  data_to_encrypt = f"{sid}$$$$${uid}" print(data_to_encrypt)  # 输出 'sjdl_fd0f63aaf4bcd7ad16c1$$$$$28ff7e4ac021f4adf2fc'  

加密字符串
然后使用加密函数对该字符串进行加密。假设你的加密函数与前面的相同:

 from Crypto.Cipher import AES from Crypto.Util.Padding import pad import json  def encrypt(data, key, iv):     key_bytes = key.encode('utf-8')     iv_bytes = iv.encode('utf-8')     data_bytes = data.encode('utf-8')      padded_data = pad(data_bytes, AES.block_size, style='pkcs7')      cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)      encrypted_bytes = cipher.encrypt(padded_data)      encrypted_hex = encrypted_bytes.hex().upper()      return encrypted_hex 

使用JavaScript中的密钥和IV

key = "**********" iv = "**********" 

加密数据

session_code = encrypt(data_to_encrypt, key, iv) 

打印加密后的SessionCode

以下是完整的代码,包括数据准备、字符串拼接和加密过程:

 from Crypto.Cipher import AES from Crypto.Util.Padding import pad import json  # 加密函数 def encrypt(data, key, iv):     key_bytes = key.encode('utf-8')     iv_bytes = iv.encode('utf-8')     data_bytes = data.encode('utf-8')      padded_data = pad(data_bytes, AES.block_size, style='pkcs7')      cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)      encrypted_bytes = cipher.encrypt(padded_data)      encrypted_hex = encrypted_bytes.hex().upper()      return encrypted_hex  # sid和uid数据 sid = 'sjdl_fd0f63aaf4bcd7ad16c1' uid = '28ff7e4ac021f4adf2fc'  # 拼接字符串 data_to_encrypt = f"{sid}$$$$${uid}"  # 使用JavaScript中的密钥和IV key = "***********" iv = "***********"  # 加密数据 session_code = encrypt(data_to_encrypt, key, iv)  # 打印加密后的SessionCode print("加密后的SessionCode:", session_code)  

运行这段代码,你将得到加密后的 SessionCode。根据你的需求,可以将这个 SessionCode 用于后续的请求或处理。

在这里插入图片描述

我的专栏

《记一次云之家签到抓包》
《记一次视频抓包m3u8解密过程》
《抓包部分软件时无网络+过代理检测 解决办法 安卓黄鸟httpcanary+vmos》
《Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品+教程)》
《某课抓包视频 安卓手机:黄鸟+某课app+VirtualXposed虚拟框架》

推荐专栏:

《Python爬虫脚本项目实战》

该专栏往期文章:
《【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)》

欢迎查看我的其它专栏
作者完成过很多独立的项目:例如滇医通等等脚本,但是由于版权的原因下架了,爬虫这一类审核比较严谨,稍有不慎就侵权违规了,所以在保证质量的同时会对文章进行筛选

如果您对爬虫感兴趣请收藏或者订阅该专栏哦《Python爬虫脚本项目实战》,如果你有项目欢迎联系我,我会同步教程到本专栏!

🚀Python爬虫项目实战系列文章!!
⭐⭐欢迎订阅⭐⭐

【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)
【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口

⭐⭐欢迎订阅⭐⭐
在这里插入图片描述

Python爬虫脚本项目实战
在这里插入图片描述

相关内容

热门资讯

连日来!钱塘十三水辅助器软件(... 连日来!钱塘十三水辅助器软件(辅助)一直是真的有辅助教程(存在有挂)所有人都在同一条线上,像星星一样...
目前!微乐广西麻辣辅助器(辅助... 目前!微乐广西麻辣辅助器(辅助)都是是有辅助工具(有挂教学)1)微乐广西麻辣辅助器有没有挂:进一步探...
此事引发网友热议!悟空大厅微信... 此事引发网友热议!悟空大厅微信辅助(辅助)好像是有辅助插件(有挂工具)所有人都在同一条线上,像星星一...
黑科技辅助!上饶辅助(辅助)真... 黑科技辅助!上饶辅助(辅助)真是是真的有辅助方法(有挂辅助)1、完成上饶辅助辅助器v3.3的残局,帮...
第三方技巧!潮友会鱼虾蟹破解(... 第三方技巧!潮友会鱼虾蟹破解(辅助)本来真的有辅助教程(有挂详细)1、潮友会鱼虾蟹破解脚本辅助下载、...
教程辅助挂!闲娱江西脚本(辅助... 教程辅助挂!闲娱江西脚本(辅助)原来是有辅助app(发现有挂)1、进入游戏-大厅左侧-新手福利-激活...
方法辅助挂!齐齐乐哟西辅助制作... 方法辅助挂!齐齐乐哟西辅助制作(辅助)一直确实有辅助神器(新版有挂)1、齐齐乐哟西辅助制作透视辅助软...
明白辅助挂!爱玩联盟辅助软件(... 明白辅助挂!爱玩联盟辅助软件(辅助)都是确实有辅助教程(有挂实锤)1、完成爱玩联盟辅助软件有辅助插件...
有玩家发现!微乐小程序黑科技(... 有玩家发现!微乐小程序黑科技(辅助)其实是有辅助脚本(果真有挂)1、金币登录送、破产送、升级送、活动...
最新消息!蜀渝牌血战到底辅助(... 最新消息!蜀渝牌血战到底辅助(辅助)竟然确实有辅助器(有挂方略)1、蜀渝牌血战到底辅助透视辅助软件激...