某土地市场网JS逆向:debugger脚本限制秒退和webpack hash参数加密

news2024/9/17 8:49:29

🔍某土地市场网逆向思路

在这里插入图片描述

🚫 解决网页反debugger

🔍 网页禁止打开开发者工具

在访问中国土地市场网时,我们会发现网页禁止了开发者工具的使用,包括F12和右键调试。

🔍强制进入开发者工具 窗口关闭并回退

这种反debugger机制会导致强制进入开发者工具时,网页自动跳转。

💡 解决方法:事件监听断点调试

我们可以通过事件监听断点调试的方法找到限制脚本的位置。找到脚本后,将限制代码删除,并开启本地替换,这样就可以正常使用开发者工具了。
在这里插入图片描述

🔍 抓包请求接口,发现请求头hash值加密

使用抓包工具捕获请求接口的数据包,发现请求头中的hash值是经过加密的。
在这里插入图片描述

🧩 全局搜索hash相关代码,找到代码加密位置

在JS代码中全局搜索hash=,我们可以定位到具体的加密代码位置。代码中提到hash参数是由一个函数生成的,该函数接收的参数为useragent、当天日期以及url的最后一个元素。
在这里插入图片描述
其中有一串代码

n = (c.a.isKey("manageLoginToken") && (n = c.a.get("manageLoginToken"),
                !Object.prototype.hasOwnProperty.call(e, "manageLoginToken")) && n && (e.Authorization = "Bearer " + n),
                i("lPiR"))

该表达式意思:如果 && 4个条件都成立 赋值i(“lPiR”)

🔍 分析代码结构,为典型的webpack加密

通过分析代码结构,发现这是一个典型的webpack加密模式,变量名、属性名和方法名都经过了混淆。
在这里插入图片描述

💻 扣取JS代码

扣取生成hash参数的关键JS代码,并整理成可用的代码片段。
在这里插入图片描述

🐍 Python调用JS代码

使用Python调用扣取的JS代码,模拟生成请求头中的hash值。
在这里插入图片描述

💡 成功获取数据

最终通过正确生成的hash值请求数据接口,成功抓取到某土地市场网的数据。
在这里插入图片描述

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

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

相关文章

IDEA对线上项目远程debug

1、在启动脚本上添加以下配置内容 -agentlib:jdwptransportdt_socket,servery,suspendn,address*:5005 nohup java -agentlib:jdwptransportdt_socket,servery,suspendn,address5005 -jar test.jar > misc.out & 2、在IDEA中进行配置 (1)选择远程…

我们的网站被狗爬了!

大家好,我是程序员鱼皮。 世风日下,人心不古。我们的程序员面试刷题网站 《面试鸭》 才刚刚上线了一个多月,就由于过于火爆,被不少同行和小人发起网络攻击。 而且因为我们已经有 4500 多道人工整理的企业高频面试题、100 多个各…

不得不安利的程序员开发神器,太赞了!!

作为一名程序员,你是否常常为繁琐的后端服务而感到头疼?是否希望有一种工具可以帮你简化开发流程,让你专注于创意和功能开发?今天,我要向大家隆重推荐一款绝佳的开发神器——MemFire Cloud。它专为懒人开发者准备&…

【前端】(仅思路)如何在前端实现一个fc手柄,将手机作为游戏手柄设备。

文章目录 背景界面demo原型图(没错,就是它,童年回忆) 遇到的问题最终后端demo(甚至比前端逻辑更简单) 背景 突发奇想,想要在前端实现一个fc游戏手柄,然后控制电脑的nes模拟器玩玩魂斗罗。 思路很简单&…

单细胞|MEBOCOST·细胞间代谢通讯

概述 在代谢活跃的细胞中,表达的代谢酶催化代谢反应生成许多代谢物。这些代谢物中的一些可以扩散到细胞外空间并作为信号分子发挥作用。某些细胞外代谢物可以与空间上邻近细胞的感应蛋白结合。我们将分泌代谢物的细胞称为发送细胞,而表达感应蛋白的细胞称…

开放式耳机稳固吗?音质好吗?四款开放式耳机测评

对于体验过不下50款耳机的我来说,在这么多耳机类型里,我推荐入手开放式耳机。 开放式耳机拥有着舒适的体验。有挂耳式的设计,相比入耳式,开放式耳机不会对耳道造成影响。再加上大部分开放式耳机的挂耳式设计都是人体工学设计&…

Astro 实现TodoList网页应用案例

Astro 是一个现代化的静态站点生成器和前端框架,它具有独特的设计理念:岛屿架构。它允许开发人员使用组件化的方式构建内容优先的网站,将各种技术栈(如React、Vue、Svelte等)的组件无缝集成到同一个项目中。 1、创建项…

STM32高级运动控制系统教程

目录 引言环境准备高级运动控制系统基础代码实现:实现高级运动控制系统 4.1 传感器数据采集模块 4.2 数据处理与运动控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:运动控制与优化问题解决方案与优化收尾与总结 1. 引言 高级运动…

【FCA FineDataLink认证指南】解锁高薪职业新机遇,提升职场竞争力

数据集成作为数字化转型的核心组成部分,正在经历前所未有的增长和创新。随着企业对数据驱动决策的需求日益增长,数据集成领域的人才在各行各业中都备受青睐。而且随着大数据、云计算和人工智能技术的不断发展,数据集成领域的职业机会也在不断…

Springcloud物流配送后台-计算机毕业设计源码69809

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 物流配送后台系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2 数据修改流程 2.2.3 数据…

UE4调试手段:主动崩溃与“.pdb”解析“.dmp”文件

主动崩溃 尝试了一些做法,发现 check(false) 对于Development配置而言,是有效果的,代码如下: // Called when the game starts or when spawned void AMyActor::BeginPlay() {Super::BeginPlay();check(false); // 尝试用这个来…

RAG调研

一 : RAG解决的问题 1.1 LLM 的局限 幻觉 知识过期 推理过程不透明,不可追踪 1.2 RAG介绍 检索增强生成(RAG)是一种使用外部知识库辅助文本生成的技术。它结合了检索与生成,通过访问外部数据库检索得到有关的信息&…

vue的基础知识总结(1)

目录 一.什么是Vue? 二.基于脚手架创建就前端工程: 三.Vue工程结构以及组件: 1.Vue项目结构: 2.Vue组件: 四.Vue基本使用方式: 1.文本插值{{}}: 2.属性绑定v-bind: 3.事件绑…

常用的项目管理软件有哪些?东成电动工具用 PowerProject 打造先进项目管理平台

近日,国内最大的专业电动工具制造企业:江苏东成电动工具有限公司与北京奥博思软件技术有限公司达成合作,借助 PowerProject 项目管理系统,全面提升项目管理效率,满足企业多场景、多角色的全周期项目管理,激…

torch._dynamo 理解(2)——Backend

0 概述 TorchDynamo 是一个 Python 级别的即时 (JIT) 编译器,旨在让未修改的 PyTorch 程序运行得更快。它通过 Python Frame Evaluation Hooks(Python 框架评估钩子)来实现这一目标,以便在运行时动态地生成和优化代码。这使得 To…

借助Aspose.html控件, 将SVG 转PNG 的 C# 图像处理库

Aspose.HTML for .NET 不仅提供超文本标记语言 ( HTML ) 文件处理,还提供流行图像文件格式之间的转换。您可以利用丰富的渲染和转换功能将SVG文件渲染为PNG、JPG或其他广泛使用的文件格式。但是,我们将使用此C# 图像处理库以编程方式在 C# 中将 SVG 转换…

VBA 颜色

1. ColorIndex 1-1. ColorIndex的值是从1到56。 Option ExplicitConst MAX_COL As Long 8 Const MAX_ROW As Long 2 Const START_ROW As Long 2 Const START_COL As Long 2Sub Color()Dim i As IntegerDim intRow As Long, intCol As LongCells.SelectSelection.ClearCon…

redis Ubuntu安装问题

报错1:Package pkg-config is not available, but is referred to by another package /bin/sh: 1: pkg-config: not found(没有安装pkg-config) sudo apt-get install pkg-config /bin/sh: 1: cc: not found(没有安装gcc环境&am…

年过30年程序员,到底要不要考虑搞点副业

一、前言 作为一名年过三十的程序员,我深刻体会到了职场的残酷和不确定性。在这个技术日新月异的时代,我们不仅要在专业领域深耕细作,更要敏锐地捕捉互联网的风口,以确保自己不被时代淘汰。程序员的黄金年龄似乎被限定在35岁之前…

《Milvus Cloud向量数据库指南》——ChatGLM:从GLM-130B到GLM-4

ChatGLM:从GLM-130B到GLM-4的跨越:智谱AI在通用人工智能领域的深度探索与实践 在人工智能的浩瀚星空中,智谱AI如同一颗璀璨的新星,以其独特的技术视角和坚定的创新步伐,在通用人工智能(AGI)的征途上留下了深刻的足迹。技术生态总监贾伟在近期的一次分享中,不仅为我们描…