【实战 JS逆向+python模拟获取+Redis token会话更新】实战模拟测试 某巴批发网 仅供学习

逆向日期:2024.02.20

使用工具:Node.js、python、Redis

加密方法:md5标准库

文章全程已做去敏处理!!!  【需要做的可联系我】

AES解密处理(直接解密即可)(crypto-js.js 标准算法):在线AES加解密工具

【点赞 收藏 关注 】仅供学习,仅供学习,此文章不提供源码,只提供  代码图、逻辑和过程讲解!!!!
1、打开某某网站(请使用文章开头的AES在线工具解密):99Lp55WUF/d7WIKTTODahbNWMWI/iO0K9bnAJp5+P0Y=
2、打开网站后,向下滚动,翻到页面底部让他自动翻页,控制台看接口,没错,今天要逆向这个sing

3、老样子,全局搜索大法,搜这个【sing】,搜到的全部打上断点,然后再次触发翻页,幺幺幺,断住了,分析的内容都在下面图里!!

4、直接直接先把代码在本地模拟搞一下,所有的参数都先按照网页里所展示的参数填写,看看结果是否一样,如果得出的结果一样,则表示我们的思路和他的算法是对的,,,看下面图

5、既然算法是一样的,那我们就开始进行整理代码,看哪里还需要动态生成,,除了一个时间戳改成动态生成的,还有一个token不知道是随机的还是固定的,我们全局搜索一下看看

6、找到了,在cookie里,他这个token不是本地生成的,是通过服务端传过来的,如果这个token过期了,就不能访问数据了,当然,本地的token过期后,会请求服务器返回一个新的token

7、我们要想获取那个token,就要先整理思路,token过期会重新颁发,那我直接把token清除掉不久可以获取新的token了吗,直接全部清除,然后刷新此页面

8、然后在找到新出来的api接口,刷新网站的时候,我们是没有任何信息的,也没有token,当这个接口访问数据的时候,后端发现你没有这个token验证令牌,,就会给你重新颁发一个token令牌,并重新发起请求,根据这个原理,我们python直接模拟一下

9、python请求后,可以看到,返回了token

10、有了token了,我们就已经掌握了sign,那我们就去python模拟抓取数据了

11、经过我多次的测试,将不需要的内容全部去除,然后运行了一下,发现令牌过期了,那我们就去重新生成一下就好了

12、代码我进行了一个优化,并且添加了Redis库,刚好也可以给大家讲一下整个逻辑关系

【文件:01cac2e7f8ba5fef.js】首先,我把js代码进行了优化打包,方便待会python的调用,其主要作用就是将我们的一个token和一个数据传递到js里,进行加密,然后返回给python,返回的值是一个【sign】和【t】,【t】就是一个时间戳,这个时间戳主要作为python的请求参数传递给服务器,服务器接收到后会进行验证,验证你这个sign是不是正确的令牌,看看有没有过期,也看看你的请求的所有信息都对不对,如果不对就不返回给你信息

【文件:new1.py】这里我做了一个class类,把所有内容都放了进去,运行逻辑也很简单,首先我们传递参数给到【data】运行,然后获取token,这个token会先在我们本地的redis数据库获取,如果存在就返回token。不存在则会请求服务器获取这个token,并存储到Redis数据库然后设置一个过期时间,方便我们分布式或多线程的调用,不会占用太多的资源。

有了token后就要取请求数据了,在请求数据前会先通过我们传递【data】和 [token]获取一个【sign】和【t】时间戳,然后融入到我们python请求里进行请求。

13、我们接下来运行一下看看

运行第二次 

换参数运行  我们把页数改为7页,ok全部成功

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

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

相关文章

day07-实战-今日指数

今日指数-day07 1.股票Code联想推荐 1.1 股票Code联想推荐功能介绍 1) 原型效果 输入框输入股票编码后,显示关联的股票信息; 2)接口定义说明 接口说明: 功能描述:根据输入的个股代码,进行模糊查询,返…

Python学习-流程图、分支与循环(branch and loop)

十、流程图 1、流程图(Flowchart) 流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。 好处: 1)代码的指导文档 2)有助…

云服务器ECS价格表出炉——阿里云

2024年阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服…

docker (十一)-进阶篇-docker-compos最佳实践部署zabbix

一 部署docker环境 关闭防火墙、selinux、开启docker,并设置开机自启动 注意点:docker部署的时候,bip要指定,不然会导致虚拟机ip和容器ip冲突,ssh连不上虚拟机 部署请参考 docker (二)-yum…

【python】windowslinux系统python的安装

一、python官网及下载路径 官网地址:Welcome to Python.org 下载路径:Download Python | Python.org ​​​​​​​ linux源码安装包下载: windows二进制安装包下载: 二、Linux如何安装python 2.1 单版本安装 以安装python…

Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和

Problem - 15C - Codeforces 目录 Nim游戏: 1~n的异或和: 代码: Nim游戏: n个石头堆,谁最后没得取谁败 我用的异或思考法,对所有堆异或。开局异或和为0的败 最后全是0,异或完也是0. //最…

DDI中的自适应子结构

SA-DDI提出了一种子结构感知图神经网络,一种配备了子结构注意力机制和用于DDI预测的子结构-子结构交互模块(SSIM)的消息传递神经网络。具体而言,基于分子中官能团的尺寸和形状通常是不规则的化学直觉,子结构注意力被设…

线阵相机之帧超时

1 帧超时的效果 在帧超时时间内相机若未采集完一张图像所需的行数,则相机会直接完成这张图像的采集,并自动将缺失行数补黑出图,机制有以下几种选择: 1. 丢弃整张补黑的图像 2. 保留补黑部分出图 3.丢弃补黑部分出图

混子文章|蓝桥杯一题 -平方差

题目考点: 平方差 ,平方差奇偶关系 代码 #include<bits/stdc.h> #define Run 0 #define endl "\n" #define N 100005 using unl __int128_t; using ll long long; using namespace std; class Solution { public: void slove() {int sum 0;int L, R; cin &…

内存计算研究进展-针对机器学习的近数据计算架构

针对机器学习的近数据计算架构代表性工作有&#xff1a; Georgia Institute of Technology的BSSync (bounded staled sync) 和 Neurocube&#xff0c;Advanced Micro Devices 的 CoML&#xff0c;具体如下。 1 BSSync BSSync指出&#xff0c;在并行实现的机器学习应用中&#…

代码随想录算法训练营DAY21 | 二叉树 (9)

一、LeetCode 669 修建二叉搜索树 题目链接&#xff1a;669.修建二叉搜索树https://leetcode.cn/problems/trim-a-binary-search-tree/description/ 思路&#xff1a;递归三部曲-定参数、返回值-定终止条件-定单层递归逻辑 class Solution {public TreeNode trimBST(TreeNode …

Sora了解资料

一、基本介绍 1.1sora 在 2024 年 2 月 16 日&#xff0c;Open AI 宣布推出全新的生成式人工智能模型“Sora”。据了解&#xff0c;通过文本指令&#xff0c;Sora 可以直接输出长达 60 秒的视频&#xff0c;并且包含高度细致的背景、复杂的多角度镜头&#xff0c;以及富有情感…

Prometheus+TDengine集群实现监控体系高可用

背景 为避免再次出现因Prometheus宕机导致业务无法查看历史数据受到影响&#xff0c;准备将Prometheus架构从单节点方式升级为高可用集群方式并将后端存储由本地存储改为远端分布式时序数据库存储。分布式时序数据库采用国产数据库TDengine。 架构 解释&#xff1a;虚线代表P…

Tuxera NTFS软件2024免费版本如何下载?

当然&#xff0c;以下是关于Tuxera NTFS的更多信息&#xff1a; Tuxera NTFS2024下载如下:https://wm.makeding.com/iclk/?zoneid58824 1. 易于使用和管理&#xff1a; Tuxera NTFS的界面设计简洁直观&#xff0c;用户无需复杂的设置和配置即可轻松上手。无论是对于普通用户…

机器视觉【3】非线性求解相机几何参数

线性求解相机几何参数的缺点 上一章节介绍学习了&#xff08;DLT&#xff09;线性求解相机几何参数&#xff0c;了解到线性求解法当中比较明显的缺点&#xff1a; 没有考虑到镜头畸变的影响不能引入更多的约束条件融入到DLT算法当中优化最关键的是&#xff0c;代数距离并不是…

Sora给中国AI带来的真实变化

OpenAI的最新技术成果——文生视频模型Sora&#xff0c;在春节假期炸裂登场&#xff0c;令海内外的AI从业者、投资人彻夜难眠。 如果你还没有关注到这个新闻&#xff0c;简单介绍一下&#xff1a;Sora是OpenAI使用超大规模视频数据&#xff0c;训练出的一个通用视觉模型&#x…

ClickHouse快速上手

简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS) 官网(https://clickhouse.com/docs/zh)给出的定义&#xff0c;其实没看懂 特性 ClickHouse支持一种基于SQL的声明式查询语言&#xff0c;它在许多情况下与ANSI SQL标准相同。使用时和MySQL有点相似&#…

JAVA设计模式结构型模式

一、前言 java设计模式主要分为创建型模式&#xff0c;结构型模式和行为型模式。上一篇主要总结了行为型设计模式&#xff0c;本章总结&#xff0c;结构型模式。像创建型模式就不写了&#xff0c;比较简单。大概知道是工厂模式和建造者模式&#xff0c;原型模式就行&#xff0…

CTFHub技能树web之RCE(二)

第五题&#xff1a;远程包含 根据题目&#xff0c;使用远程包含进行 打开phpinfo&#xff0c;可以看到allow_url_fopen和allow_url_include都是On&#xff0c;因此可以使用php://input&#xff0c;由于代码会检查file中的内容&#xff0c;因此不能够使用php://filter包含文件&a…

Unreadable-Mesh内存占用翻倍问题

1&#xff09;Unreadable-Mesh内存占用翻倍问题 2&#xff09;在TMP中计算书名号《》高度的问题 3&#xff09;Mipmap如何限定层级 4&#xff09;FMOD设置中关于Virtual Channel Count&Real Channel Count的参数疑问 这是第374篇UWA技术知识分享的推送&#xff0c;精选了UW…