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

news2024/12/23 4:03:10

逆向日期: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.coloradmin.cn/o/1461199.html

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

相关文章

旧物回收小程序开发,开启绿色生活新篇章

随着科技的发展和人们生活水平的提高,物质生活的丰富带来了大量的废弃物。如何合理处理这些废弃物,实现资源的再利用,已成为社会关注的焦点。旧物回收小程序的开发与应用,为这一问题提供了有效的解决方案。本文将探讨旧物回收小程…

Python学习笔记——自定义函数(基础知识)

自定义函数非常简洁有效地实现了代码的复用,让程序编写、阅读、测试和修改变得更加容易。 下面记录Python自定义函数的使用。 1、定义函数: def describe_pet(pet_name,animal_typedog):显示宠物的信息print(f"\nI have a {animal_type}.")…

备战蓝桥杯---数学之矩阵快速幂基础

我们先不妨看一道题&#xff1a; 看见n的数据范围就知道直接按以前的递归写肯定狗带&#xff0c;那我们有什么其他的方法吗&#xff1f; 下面是分析&#xff1a; 我们就拿斐波那契数列试试手吧&#xff1a; 下面是AC代码&#xff0c;可以当作模板记&#xff1a; #include<b…

Android 基础技术——Framework

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于 Framework 简述 Android 系统启动流程 当按电源键触发开机&#xff0c;首先会从 ROM 中预定义的地方加载引导程序 BootLoader 到 RAM 中&#xff0c;并执行 BootLoader 程序启动 Linux Kernel&…

2.20 Qt day1

一. 思维导图 二. 消化常用类的使用&#xff0c;以及常用成员函数对应的功能 按钮类QPushButton&#xff1a; mywidget.h&#xff1a; #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include<QPushButton>//按钮类 #include<QIcon>class MyW…

vscode 插件 Marp for VS Code 制作 ppt

话不多说&#xff0c;直接上图 用它来写幻灯片&#xff0c;简直不要太好用&#xff0c;如果你一直使用 markdown 语法写笔记的话&#xff0c;那么做 ppt 对你来说简直就是喝水&#xff1b; 在vscode 上面直接装一个Marp for VS Code插件就可以了 基本使用方法步骤 crtl win …

Flutter自定义tabbar任意样式

场景描述 最近在使用遇到几组需要自定义的tabbar或者类似组件&#xff0c;在百度查询资料中通常&#xff0c;需要自定义 TabIndicator extends Decoration 比如上图中的带圆角的指示器这样实现 就很麻烦&#xff0c; 搜出来的相关也是在此之处上自己画&#xff0c;主要再遇…

OpenLDAP接入NineData SSO

本文面向使用 OpenLDAP 管理人员账户信息的企业&#xff0c;提供将 OpenLDAP 接入单点登录&#xff08;SSO&#xff09;的最佳实践指南&#xff0c;以实现统一认证和授权管理。通过集成 OpenLDAP、phpLDAPadmin、Keycloak&#xff0c;您可以轻松通过 SSO 功能登录 NineData。 …

Android13 编译ninja failed with: exit status 137

描述 现象很奇怪&#xff0c;主机是ubuntu 18.04&#xff0c; 内存有32G&#xff0c;并且系统中有两份Android13代码&#xff0c; 有一份编译正常&#xff0c;另外一份编译不正常&#xff0c;一度以为是因为下载源码不齐全导致&#xff0c;后面仔细看日志&#xff0c;原来是内…

压缩感知(Compressed Sensing)的MATLAB仿真实现

在前一篇文章&#xff1a;正交匹配追踪&#xff08;Orthogonal Matching Pursuit, OMP&#xff09;的MATLAB实现中&#xff0c;我们介绍了针对稀疏信号进行压缩感知的MATLAB仿真。 本篇我们介绍一下针对的是原始的非稀疏信号&#xff0c;看看如何进行处理。 本文中&#xff0c;…

uniapp运动课程健身打卡系统微信小程序

考虑到实际生活中在我来运动管理方面的需要以及对该系统认真的分析,将系统分为小程序端模块和后台管理员模块&#xff0c;权限按管理员和用户这两类涉及用户划分。 (a) 管理员&#xff1b;管理员使用本系统涉到的功能主要有&#xff1a;首页、个人中心、用户管理、课程类别管理…

计算机设计大赛 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

静态时序分析:保持时间分析

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在静态时序分析中&#xff0c;保持时间检查约束了触发器时钟引脚&#xff08;时钟路径&#xff09;和输入数据引脚&#xff08;数据路径&#xff09;之间的时序关…

虚拟机安装Centos7迷你版

虚拟机安装Centos7迷你版 迷你版较常规版精简了很多功能&#xff0c;所以体积也小了很多&#xff0c;喜欢自定义安装的可以选择迷你版 参考文章&#xff1a; VirtualBox虚拟机安装Centos7详细教程图解 网卡配置参考文章 下载Centos迷你版镜像 安装镜像 下载镜像 阿里云Cen…

【Python】【VS Code】VS Code中python.json和setting.json文件配置说明

目录 1. python.json配置 2. setting.json配置 3. 解决中文乱码 4. 实现效果 1. python.json配置 python.json 获取步骤&#xff1a;文件 -> 首选项 -> 配置用户代码片段 -> python 此为VS Code的头文件设置&#xff0c;复制以下内容到 python.json {"HEADER…

【爬虫JS逆向-工具篇】浏览器内存漫游加密参数Hook实战教程

文章目录 1. 写在前面2. 环境搭建2. 加密定位实战 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣的朋友可以关…

如何高效测试APP,快速定位bug?

一般提到测试&#xff0c;很多人会想到考试&#xff0c;但任意一个APP面世之前&#xff0c;也都需要多次测试&#xff0c;确保可以正常使用之后才会面世。有的公司会有专门的测试工程师&#xff0c;而在一般的互联网公司&#xff0c;大多由产品经理、工程师、设计师等兼职&…

vulnhub练习 DC-1复现及分析

一、搭建环境 1.工具 靶机&#xff1a;DC-1 192.168.200.17 攻击机&#xff1a;kali 192.168.200.13 2.注意 攻击机和靶机的网络连接方式要相同&#xff0c;另外DC-1的网络连接方式我这里采用NAT模式&#xff0c;是与kali的网络连接模式相同的&#xff08;当然亦可以选用桥…

unity学习(28)——登录功能

有之前注册的知识&#xff0c;登录就很容易处理了。 登陆成功返回id&#xff1a; 登录失败返回null&#xff1a; 测试同一账号不能重复登陆&#xff01;登录成功后最好可以跳到新的场景中 结果是好的&#xff0c;去服务器看一下对应部分的代码&#xff0c;可见&#xff0c;登…

多端开发围炉夜话

文章目录 一、多端开发 一、多端开发 uni-app 官网 UNI-APP中的UI框架&#xff1a;介绍常用的UI框架及其特点 uView UIVant WeappColor UIMint UI uniapp嵌入android原生开发的功能 uniapp使用安卓原生sdk uni-app中的uni.requireNativePlugin Qt for iOS Qt for Android