某渣渣企业平台相关加密参数

news2024/11/28 8:48:13

网址

aHR0cHM6Ly93d3cucWNjLmNvbS93ZWIvZWxpYi90ZWNsaXN0P3RlYz1UX1RTTUVT

抓包

GET /api/elib/getTecList?countyCode=110101&flag=&industry=&isSortAsc=&pageIndex=2&pageSize=20&province=BJ&registCapiBegin=&registCapiEnd=&searchKey=&startDateBegin=&startDateEnd=&tec=T_TSMES HTTP/1.1
Host: www.****.com
44a6e75f36fde6af26fa: 1c6eafaaad172ac178afff475b3a08b6c4d4050b125285fefa7cd8b971a40611ad8abbf71c50446ce58cbfda3a66d0c3aab0f00ee87e4aebe69c6d1ce13f199d
authority: www.****.com
accept: application/json, text/plain, */*
accept-language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
cache-control: no-cache
cookie: **********
pragma: no-cache
referer: https://www.****.com/web/elib/teclist?tec=T_TSMES
sec-ch-ua: "Microsoft Edge";v="113", "Chromium";v="113", "Not-A.Brand";v="24"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-dest: empty
sec-fetch-mode: cors
sec-fetch-site: same-origin
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.50
x-pid: **********
x-requested-with: XMLHttpRequest

加密参数查找以及位置确定

可以看到header里边有一个加密参数 44 a 6 e 75 f 36 f d e 6 a f 26 f a \color{red}{44a6e75f36fde6af26fa} 44a6e75f36fde6af26fa,而且这个参数是变动的,包括key和value都会根据请求的不同而改变, x − p i d \color{blue}{x-pid} xpid这个参数登录后是不会改变的,还有就是cookie,自行登录复制;

全局搜索header

在这里插入图片描述
此处我直接贴答案了,有兴趣的同学可以一个一个挨个看看,标记的文件就是我们此处需要的参数的加密位置

点进去打上断点

在这里插入图片描述
可以看到 i 和 l 就是我们需要的参数,那么我们只需要找到 a . d e f a u l t \color{red}{a.default} a.default

r . d e f a u l t \color{red}{r.default} r.default e . d e f a u l t \color{red}{e.default} e.default的值

a.default

在这里插入图片描述
在这里插入图片描述
此处是我们上面拿到的
![在这里插入图片描述](https://img-blog.csdnimg.cn/5acc9db4fd0e404e93
最后进行了hash加密
在这里插入图片描述
这是我们可以看到固定的key值
在这里插入图片描述
在这里插入图片描述
此处是字典键值返回的加密的地方,其他的逻辑和上述差不多
在这里插入图片描述

python翻译的代码

# -*- coding: utf-8 -*-
# @Author   : yueyue
# @Time     : 2023-05-26 16:40
import hashlib
import hmac
import json


def seeds_generator(s):
  seeds = {
    "0": "W",
    "1": "l",
    "2": "k",
    "3": "B",
    "4": "Q",
    "5": "g",
    "6": "f",
    "7": "i",
    "8": "i",
    "9": "r",
    "10": "v",
    "11": "6",
    "12": "A",
    "13": "K",
    "14": "N",
    "15": "k",
    "16": "4",
    "17": "L",
    "18": "1",
    "19": "8"
  }
  seeds_n = 20

  if not s:
    s = "/"
  s = s.lower()
  s = s + s

  res = ''
  for i in s:
      res += seeds[str(ord(i) % seeds_n)]
  return res


def header_twenty(key: str = '', url: str = '', data: str = '', tid: str = ''):
    msg_ad = url.lower() + data
    print(msg_ad)
    a_default = hmac.new(bytes(key, encoding='utf-8'), bytes(msg_ad, encoding='utf-8'), hashlib.sha512).hexdigest()
    msg_rd = url.lower() + 'pathString' + data + tid
    print(msg_rd)
    r_default = hmac.new(bytes(key, encoding='utf-8'), bytes(msg_rd, encoding='utf-8'), hashlib.sha512).hexdigest()
    return {a_default.lower()[8:28]: r_default.lower()}


if __name__ == '__main__':
    url = '此处是url'
    data = '{}'
    tid = '此处是生成的那个key值'
    print(header_twenty(key=seeds_generator(url), url=url, data=data, tid=tid))

结尾

逆向之路漫漫,以上是一个简单的例子,如果有侵权请联系我删除
各位巨巨点点赞,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/572932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

修改git已经push到远端的最近一次提交的commit

需求: 最新一次提交的message写错了且已经push到远程仓库,但是又不想重新创建一个commit记录。 注意: 如果是多人协同开发,使用强推前一定确保当前版本最新,期间无人提交代码。 使用git Bash进入命令行窗口 git co…

基于langChain 的privateGPT 文档问答 研究

参考:gihtub代码 https://github.com/imartinez/privateGPT 官网 privateGPT可以在断网的情况下,借助GPT和文档进行交互,有利于保护数据隐私。 privateGPT可以有四个用处: 1.增强知识管理:私有LLMs自动化&#xff0c…

《Spring Guides系列学习》guide26 - guide30

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…

numpy库报错has no attribute ‘_no_nep50_warning‘的解决

本文介绍在Python中,numpy库出现报错module numpy has no attribute _no_nep50_warning的解决方法。 一次,在运行一个Python代码时,发现出现报错module numpy has no attribute _no_nep50_warning,如下图所示。 其中,这…

华为nova11系列:一个月的深度体验感受,告诉你值不值得入手

作为一个追求时尚风格的年轻人, nova系列手机一直是我的关注重点。nova 11 Pro发布之后,独特少见的11号色一下子就戳中了我,于是第一时间我给我自己和我老婆分别下单了一台nova 11和nova 11 Pro。 作为主力机深度使用一个月后,可以…

如何做好建筑行业的信息化建设?

如何做好建筑行业的信息化建设? 首先,我们来了解一下,什么是信息化转型? 信息化转型是指企业或组织通过应用信息技术,以提高业务效率和创新能力,实现组织战略目标的过程。 随着数字技术的发展&#xff0…

把字节大佬花3个月时间整理的软件测试面经偷偷给室友,差点被他开除了···

写在前面 “这份软件测试面经看起来不错,等会一起发给他吧”,我看着面前的面试笔记自言自语道。 就在这时,背后传来了leder“阴森森”的声音:“不错吧,我可是足足花了三个月整理的” 始末 刚入职字节的我收到了大学室…

Junit常见用法

一.Junit的含义 Junit是一种Java编程语言的单元测试框架。它提供了一些用于编写和运行测试的注释和断言方法,并且可以方便地执行测试并生成测试报告。Junit是开源的,也是广泛使用的单元测试框架之一。 二.Junit常用注解 1.Test 表示执行此测试用例 T…

代码随想录训练营Day51| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

目录 学习目标 学习内容 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组 学习目标 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组 学习内容 300.最长递增子序列 300. 最长递增子序列 - 力扣(LeetCode)https…

便携式水质检测仪应用范围

随着环境污染的加剧,人们对水质检测的关注越来越多。传统的水质检测仪器往往只能测定单一参数,难以全面准确地反映水质情况。而多参数水质检测仪可以实现同时测定多个参数,为水质检测提供了更加全面准确的数据。它采用多种先进的技术&#xf…

STM32【H7】理论——MPU、Cache

文章目录 1. MPU - 内存保护单元 1. MPU - 内存保护单元 MPU:(Memory Protection Unit,内存保护单元),早在 STM32F1 和 F4 芯片上面也是有这个功能的,但是基本用不上。但是到了 H7 就得用上了,因为要设置 Cache; MPU的作用: 将 memory map&a…

医疗健康元宇宙仿真场景为治疗提供个性化方案

虚拟现实VR元宇宙是一种基于VR虚拟现实制作的全新交互平台,可以为用户提供沉浸式的体验。随着人们对医院就诊服务要求不断提高,借助VR元宇宙平台,将医生为医生、护士和患者提供了一个全新的交流和治疗场景,对提高诊疗水平和服务体…

「实在RPA·税务数字员工」助力税务乘上数字化转型快车

中共中央办公厅国务印发《关于进一步深化税收征管改革的意见》表示:着力建设以服务纳税人缴费人为中心、以发票电子化为改革突破口、以税收大数据为驱动力的具有高集成功能、高安全性能、高应用效能的智慧税务。2023年实现从经验式执法向科学精确执法转变&#xff1…

k8s滚动更新

1.编写一个yaml文件 vi deployment-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata: labels:app: nginxname: nginxnamespace: default spec:replicas: 3progressDeadlineSeconds: 600 #表示在这个时间段内,如果 Deployment 的 Pod 没有完成更新&…

EtherCAT运动控制卡开发教程之python

众所周知,Python作为一门面向对象的新兴开发语言,具有非常完善的基础代码库,更注重实用,同时代码可读极强,编写完程序即可直接运行,被越来越多的人广泛将它用于机器视觉和自动化控制。 今天正运动技术与大…

第三十七章 扩展知识点

1、setState (1). setState(stateChange, [callback])------对象式的setState1.stateChange为状态改变对象(该对象可以体现出状态的更改)2.callback是可选的回调函数, 它在状态更新完毕、界面也更新后(render调用后)才被调用(2). setState(updater, [callback])------函数式的…

敏捷专题:新一代的汽车软件研发

过去,买车属于一锤子买卖,但近年来智能制造、新能源汽车等概念的狂飙突进下,个性化、定制化、智能化的新车型正倍速来到消费者面前,不到20万元就能买到各大车企搭载了智能座舱和智能驾驶功能的产品。 ▲智能座舱 众所周知&#xf…

(一)微服务中间键工作原理——nacos客户端服务注册原理说明及源码解读

前言 本节内容我们主要介绍一下中间键nacos的客户端服务注册原理及其源码解读,便于我们理解nacos作为服务注册中心的具体实现。在springcloud的微服务体系中,nacos客户端的注册是通过使用spring的监听机制ApplicationListener实现的。学习本节内容&…

golang常见导致panic的场景

1、越界 常见有数组越界和字符串越界 2、空指针引用 直接引用空指针结构体的字段会引发panic,但调用成员方法里如果没引用结构体的字段不会引发panic 3、断言失败 4、map操作错误 map未初始化,可读不可写。 map的value如果是结构体指针&#xf…

G0第21章 :gin框架介绍、RESTful API、Gin渲染

G0第21章 :gin框架 01 内容介绍 web本质 Web是基于HTTP协议进行交互的应用网络Web就是通过使用浏览器/APP访问的各种资源 package mainimport ("fmt""net/http" )func sayHello(w http.ResponseWriter, r *http.Request){_, _ fmt.Fprintln(…