第58篇-某看准招聘参数分析-AES加密【2023-10-31】

2023-11-01 10:12

本文主要是介绍第58篇-某看准招聘参数分析-AES加密【2023-10-31】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖!

文章目录

  • 一、前言
  • 二、网站分析
    • 1.参数kiv
    • 2.参数b
    • 3.响应加密

一、前言

在这里插入图片描述

网址:

aHR0cHM6Ly93d3cua2Fuemh1bi5jb20vZmlybS9yZWNydWl0LzBueF8zZ35+Lmh0bWw/a2E9Y29tLXJlY3J1aXQtbW9kdWxlLWV4cG9zZQ==

二、网站分析

查看招聘信息,向下翻页,抓包。
发现参数中的kiv和b加密
在这里插入图片描述

响应数据加密

在这里插入图片描述

全局搜索kiv,然后再搜索找到这里

在这里插入图片描述

a就是kiv,t就是b,这里可以看到b和kiv的生成

在这里插入图片描述

在这里插入图片描述

1.参数kiv

先看kiv,即a参数,进入M._A,就是一个随机数

在这里插入图片描述

2.参数b

参数b,即t

t = M.mA(n, { iv: a}).replace(/\//g, "_").replace(/\+/g, "-").replace(/=/g, "~")

其中的n和页数有关系

在这里插入图片描述

再进入M.mA
在这里插入图片描述

再进入l,可以看到是个AES加密,其中iv就是我们kiv
在这里插入图片描述

key经过测试是固定值

在这里插入图片描述
python实现

import base64
from Crypto.Cipher import AES# 密钥和IV
AES_SECRET_KEY = 'G$$QawckGfaLB97r'  # 此处16|24|32个字符,分别对应AES-128AES-192AES-256
IV = 'riGSUvXa1YWwtogp'  # 和密钥等长# padding算法
BS = len(AES_SECRET_KEY)
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
unpad = lambda s: s[0:-ord(s[-1:])]class AES_ENCRYPT:def __init__(self):self.key = AES_SECRET_KEYself.mode = AES.MODE_CBC# 加密函数def encrypt(self, text):cryptor = AES.new(self.key.encode("utf8"), self.mode, IV.encode("utf8"))self.ciphertext = cryptor.encrypt(bytes(pad(text), encoding="utf8"))# AES加密时候得到的字符串不一定是ascii字符集的,输出到终端或者保存时候可能存在问题,使用base64编码return base64.b64encode(self.ciphertext).decode("utf-8")# 解密函数def decrypt(self, text):decode = base64.b64decode(text)cryptor = AES.new(self.key.encode("utf8"), self.mode, IV.encode("utf8"))plain_text = cryptor.decrypt(decode)return unpad(plain_text).decode("utf-8")def chinese_to_ascii(text):text2 = base64.b64encode(text.encode('utf-8')).decode('ascii')return text2if __name__ == '__main__':aes_encrypt = AES_ENCRYPT()text = "{\"encCompanyId\":\"0nx_3g~~\",\"pageIndex\":2}"e = aes_encrypt.encrypt(text)print(text)print(e)

在这里插入图片描述

在这里插入图片描述
结果相同,最后别忘了替换
在这里插入图片描述
问下文心一言
在这里插入图片描述

在这里插入图片描述

3.响应加密

既然加密是AES,那么解密大概率也是,搜索.decrypt,找到这里,刷新页面

在这里插入图片描述

这篇关于第58篇-某看准招聘参数分析-AES加密【2023-10-31】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322246

相关文章

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl