x程无忧sign逆向分析

news/2024/7/19 8:42:07 标签: 爬虫, python

x程无忧sign逆向分析:

详情页sign:

详情页网站:

import base64
# 解码
result = base64.b64decode('aHR0cHM6Ly9qb2JzLjUxam9iLmNvbS9ndWFuZ3pob3UvMTUxODU1MTYyLmh0bWw/cz1zb3Vfc291X3NvdWxiJnQ9MF8wJnJlcT0zODQ4NGQxMzc2Zjc4MDY2M2Y1MGY2YTg0NmE1NmExMiZ0aW1lc3RhbXBfXzEyNTg9ZXFBeGNEUkNQbXFDcUdORFEwaFQzZEdPUURrREJHaFlEJmFsaWNobGdyZWY9aHR0cHMlM0ElMkYlMkZ3ZS41MWpvYi5jb20lMkY='.encode('utf-8'))
print(result)

我们会发现有两个接口,一个结果用于验证,一个接口用于返回信息。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

​ 大部分的网站不会在send和ajax进行参数的加密,只是作为请求发送.

在这里插入图片描述

​ 有一点前端基础的同学们,可能发现很简单,就是调用jQuery根据id获取值,

在这里插入图片描述

我们多发几次请求会发现这个值不会变化。

在这里插入图片描述

观察这个js文件,感觉很像自调用函数,而且还有点想webpack.

sign是一个对象,如下:

在这里插入图片描述

弄了半天,发现这个sign是写在document里面的,我们可以xpath,或者正则得到这个数据

在这里插入图片描述

当然也可以扣js但是需要补环境,我们后面的实例中会说到,本次就不涉及补环境了。

导航目录页sign:

在这里插入图片描述

在这里插入图片描述

我们选择XHR断点调试。

在这里插入图片描述

优先考虑异步回调栈

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

去掉前方端点和xhr端点,因为我们找到真正的位置了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

// 引入CryptoJS库
const CryptoJS = require("crypto-js");
let text='123456';


e='/api/job/search-pc?api_key=51job&timestamp=1700060794&keyword=python%E5%B7%A5%E7%A8%8B%E5%B8%88&searchType=2&function=&industry=&jobArea=000000&jobArea2=&landmark=&metro=&salary=&workYear=&degree=&companyType=&companySize=&jobType=&issueDate=&sortType=0&pageNum=4&requestId=6213e8eec0a779cf85e0abe18d57ab62&pageSize=20&source=1&accountId=&pageCode=sou%7Csou%7Csoulb'
sign_key="abfc8f9dcf8c3f3d8aa294ac5f2cf2cc7767e5592590f39c3f503271dd68562b"
// 计算并且转化为16进制字符串
let secret=CryptoJS.HmacSHA256(e,sign_key).toString(CryptoJS.enc.Hex);
console.log(secret)

UUID的实现:

在这里插入图片描述


http://www.niftyadmin.cn/n/5192641.html

相关文章

【计算机组成原理】知识点巩固 - 存储器概述

目录 1、存储器分类 1.1、按存储介质分类 1.2、按存取方式分类 1.3、按信息的可改写性分类 1.4、按信息的可保存性分类 1.5、按功能和存取速度分类 2、存储器技术指标 2.1、存储容量 2.2、存取速度 3、存储系统层次结构 4、主存的基本结构 5、主存中数据的存放 5…

4.5 Windows驱动开发:实现进程数据转储

多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更…

一、C语言学习

一、自我认识 本科是电子信息工程学院——测控技术与仪器专业一名学生,大学期间,虽然考过全计算机二级C语言,但完全是为了考过而考过,感觉只学了皮毛,而且没有系统化的学习,总觉得知识体系不够完整。对于我…

Python------列表 集合 字典 推导式(本文以 集合为主)

推导式: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列 构建 另一个 新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导&#xff…

继承语法详解

继承语法详解 一:继承1:什么是继承 二:访问成员变量三:访问成员方法四:访问父类的成员变量和成员方法super关键字super和this关键字的区别 五:子类的构造方法六:代码块七:final关键字八&#xf…

IoC DI

Spring 的两大核心思想 : IoC 和 AOP 我们要将对象的控制权交给Spring ,我们就需要告诉 Spring 哪些对象是需要帮我们进行创建的,这里有两类注解可以实现 : 类注解(Controller Service Repository Component Configuration)和方法注解(Bean) 这五大注解都表示把这个对象交给…

MySQL/Oracle用逗号分割的id怎么实现in (逗号分割的id字符串)。find_in_set(`id`, ‘1,2,3‘) 函数,

1.MySQL 1.1.正确写法 select * from student where find_in_set(s_id, 1,2,3); 1.2.错误示范 select * from student where find_in_set(s_id, 1,2 ,3); -- 注意,中间不能有空格。1、3 select * from student where find_in_set(s_id, 1,2, 3); -- 注意…