web逆向-解决某服务平台webpack的请求体加密和对返回结果解密

js逆向--webpack解密逻辑分析 webpack对于有研究过的人来说难度并不是很高,但是因为webpack的代码,非常的繁多,一个webpack可能就是几万行代码。在逆向中对于webpack的加解密网站,一般是不建议去扣代码的,大多数解决办法是采用自吐。办法是把这整个js文件copy下来,然后改写一两处地方即可自主调用。这篇文章,我也是用自吐算法来做的。 阅读详情

解决webpack

  • 0 声明
  • 1 分析
  • 2 思路

0 声明

此文章仅用于技术交流

1 分析

脱敏地址:aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWw/Y29kZT05MDAwMCZmbGFnPWZhbHNlJmdiRmxhZz10cnVl
经抓包分析,可见该网站的接口为POST请求,其中请求体和返回结果都加密
在这里插入图片描述
在这里插入图片描述
通过拦截器interceptors.request.use和interceptors.response.use可定位加密和解密的位置
首先对请求体加密位置进行定位,可以搜索到三处地方用到了拦截器,逐一打上断点,看会在哪里断住
在这里插入图片描述
最终发现是变量e经过u.a后从明文变成了密文,可判断u.a为请求体加密的函数
在这里插入图片描述
再去找u是什么,发现上面定义了变量u = n("7d92"),在此处打上断点,刷新页面,进入到u函数里
发现u为函数o,通过特征分析这是一个webpack打包技术,一般webpack涉及的代码量比较多,且会循环套用,一个一个函数去补环境是费时费力的事情,我们直接把全部代码拿到本地

function o(t) {
        if (n[t])
            return n[t].exports;
        var i = n[t] = {
            i: t,
            l: !1,
            exports: {}
        };
        return e[t].call(i.exports, i, i.exports, o),
        i.l = !0,
        i.exports
    }

首先运行一下代码,看一下缺什么,发现缺少window和userAgent,根据经验对其补充,除此之外,代码中进行了环境检测的初始化,需要补大量的环境,但是对我们来说不进行环境检测是更好的选择,所以可以注释掉其中环境检测的部分
在这里插入图片描述

2 思路

在外部定义一个变量:window

window = global;

在核心函数的下方把核心函数赋值给window下的一个自定义变量
在这里插入图片描述
查看代码发现需要传入一个e值,在之前的分析中看到传入的是是7d92
加密处代码为u.a(e)
e为一个包含页数的JSON,复制到本地进行测试,发现正常请求

let page_number = 1
let eData = {
    "transformRequest": {},
    "transformResponse": {},
    "timeout": 30000,
    "xsrfCookieName": "XSRF-TOKEN",
    "xsrfHeaderName": "X-XSRF-TOKEN",
    "maxContentLength": -1,
    "headers": {
        "common": {
            "Accept": "application/json, text/plain, */*"
        },
        "delete": {},
        "get": {},
        "head": {},
        "post": {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        "put": {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        "patch": {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        "Accept": "application/json",
        "Content-Type": "application/json",
        "channel": "web"
    },
    "withCredentials": false,
    "baseURL": "/ebus/fuwu/api",
    "method": "post",
    "url": "/nthl/api/CommQuery/queryFixedHospital",
    "data": {
        "addr": "",
        "regnCode": "110000",
        "medinsName": "",
        "medinsLvCode": "",
        "medinsTypeCode": "",
        "outMedOpenFlag": "",
        "pageNum": 2,
        "pageSize": 10,
        "queryDataSource": "es"
    }
}
function params_decrypt(page_number){
    let t = "7d92"
    let u = window.duan(t)
    eData.data.pageNum = page_number
    result = u.a(eData)
    return JSON.parse(result.data)
}
console.log(params_decrypt(page_number))

关于请求体的加密到此即搞定了,请求返回结果的解密使用的是相同的方法,只是使用拦截器定位用的是interceptors.response.use,其他都一模一样

猿人学web端爬虫攻防大赛赛题解析_第十六题:webpack初体验 webpack初体验一、前言二、逆向过程三、代码实现三、结语 一、前言 webpack算是逆向过程中比较常出现的一种加密方式了,本质上是将网页源代码打包进JavaScript ,并对其进行压缩,如果不对其进行其他混淆操作的话还是很好还原的。第十六题虽然标的是简单级别,但对于新手来说,也有一些坑,不注意就会踩到,找不对方法真是头皮要想破。话不多说,开整 二、逆向过程 这题还是老样子,先观察XHR请求,发现有两个加密参数,一个m很明显是主要加密参数,t则看起来是个时间戳: 跟着请求的调用栈,找一下这个api请 阅读详情

相关推荐

JavaScript逆向九大专题详解

AST是一种将代码转换为树形结构的数据结构,它可以帮助我们更好地理解代码的结构和含义。在JavaScript中,AST可以用于代码分析、代码优化、代码混淆等方面。AST的生成过程一般分为三个步骤:词法分析、语法分析和AST构建。词法分析将代码分解为一个个的词法单元,语法分析将词法单元组合成语法树,AST构建则是将语法树转换为AST。

xm-love-mq的博客 4828

网页爬虫之WebPack模块化解密(JS逆向)

然后重写 window[“webpackJsonp”] 数组的 push( ) 方法为 webpackJsonpCallback( ),也就是说 window[“webpackJsonp”].push( ) 其实执行的是 webpackJsonpCallback( ),window[“webpackJsonp”].push( )接收三个参数,第一个参数是模块的ID,第二个参数是 一个数组或者对象,里面定义大量的函数,第三个参数是要。所有的资源都是通过JavaScript渲染出来的。

z_ipython的博客 7344

JS逆向分析入门

数据采集JS逆向分析小白入门,超详细!!!

weixin_75004435的博客 2378

有道js逆向(webpack,调用crypto库实现)【超级详细】

话不多说,直接干,通过多种方法实现有道翻译解密

NUT_0的博客 2836

Web前端JS逆向实战:定位与提取AES加密的Key和IV

AES(高级加密标准)作为对称加密的黄金标准,其核心原理在于使用相同的密钥进行数据的加密和解密,在CBC等模式下还需初始化向量(IV)来增强安全性。这项技术在保障数据传输机密性和完整性方面具有重要价值,广泛应用于接口签名、本地存储保护和网络通信等场景。在前端开发中,JavaScript常通过CryptoJS库或SubtleCrypto API实现AES加密,而**代码混淆**和**Webpack打包**等工程化手段使得核心的密钥逻辑隐藏于复杂的代码结构中。本文聚焦于如何通过浏览器开发者工具进行逆向分析,系统

weixin_30455023的博客 485

Python爬虫实战:逆向分析AES加密接口与复现加解密逻辑

在数据采集与网络爬虫开发中,加密技术是保障数据传输安全的核心机制。AES(高级加密标准)作为一种广泛应用的对称加密算法,其工作原理基于分组密码和特定操作模式(如CBC),通过密钥和初始化向量(IV)对数据进行混淆,确保信息在传输过程中的机密性与完整性。理解并复现AES加解密流程,对于爬虫工程师而言,是突破数据接口防护、实现自动化采集的关键技术能力,尤其在处理采用CBC模式和PKCS7填充的加密接口时。本文聚焦于**逆向分析**与**Python复现**,通过解析前端JavaScript的加密逻辑,定位密钥、

weixin_30875157的博客 411

JS逆向 webpack解密

JS webpack解密 ,这个网站很坑,那个验证字段搜不到,XHR断点也断不到,就很奇怪,不过竟然我敢写这篇文章,就代表我是过了的。

lmttlw的博客 4617

Web前端TripleDES加密逆向实战:从浏览器调试到独立脚本实现

在Web安全与数据交互领域,加密技术是保护数据传输安全的核心手段之一。TripleDES(3DES)作为一种经典的分组加密算法,通过三次DES操作增强安全性,常用于对性能要求不苛刻但需一定安全性的场景。其原理涉及加密模式(如CBC)、填充方式(如PKCS7)和密钥管理,技术价值在于为前端敏感数据(如题库、用户信息)提供基础保护。在Web开发中,前端常通过JavaScript库(如CryptoJS)实现实时解密,而逆向工程则通过分析网络请求、动态调试来定位解密逻辑,进而复现为可独立运行的脚本。本文聚焦于一个典

weixin_34127717的博客 1470

万字长文解密webpack-基本使用/高级用法/性能优化 你想要的全都有!!!

创作不易 拒绝白嫖 点个赞呗 文章目录前言1. 基本使用1.1 拆分配置和merge初始化package.json1.1.1 安装webpack1.1.2 安装webpack-merge1.1.3 新建build文件夹以及配置文件webpack.common.jswebpack.dev.jswebpack.prod.js1.1.4 Scripts1.1.5 测试1.2 启动本地服务1.2.1 安装webpack-dev-server1.2.2 配置devServer1.2.3 启动1.2.4 测试安装.

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1万+

Yakit热加载实战:JS逆向与Webpack模块提取破解前端加密登录

在Web安全测试中,前端JavaScript加密已成为登录爆破等场景的主要技术障碍。JS逆向的核心原理在于分析并复现前端加密逻辑,以绕过客户端保护,直接模拟合法请求。其技术价值在于将安全测试从传统的“发包-爆破”模式,升级为对应用逻辑的深度理解与自动化利用,显著提升测试效率与覆盖率。应用场景广泛覆盖渗透测试、漏洞评估及业务逻辑安全审计。本文聚焦于结合Yakit热加载功能与Webpack模块提取技术,通过定位加密函数、提取核心模块并在单一工具链内实现实时加密计算,构建了一套针对现代前端加密登录的高效自动化测试

weixin_33978578的博客 957

别再瞎猜了!三角形接法PMSM的相电流到底怎么算?实测线电流转换公式与避坑指南

本文深入解析三角形接法永磁同步电机(PMSM)在FOC控制中的相电流计算误区,提供实测线电流转换公式与避坑指南。针对矢量控制系统中常见的√3换算错误,详细阐述正确的电流重构算法、硬件采样要点及软件优化技巧,帮助工程师实现精确控制并避免电机损坏。

weixin_30367873的博客 466

Python逆向进阶:Web逆向私单

其实,这些年业界对爬虫技术服务的需求量一直在暴增,当下早已供不应求的!

五包辣条的博客 2427

Arm Neoverse CMN-700 SLC内存系统与缓存分区技术解析

现代处理器架构中,缓存一致性协议与内存子系统设计直接影响系统性能。Arm Neoverse CMN-700采用的SLC(System Level Cache)通过16-way组相联设计实现高效数据缓存,其物理地址索引机制支持灵活的way分区配置。在软件可配置内存(OCM)模式下,SLC可作为独立内存空间使用,通过寄存器控制实现模式切换与区域锁定。缓存分区技术则通过请求源分类和way-based分配策略,满足实时性任务与吞吐量场景的不同需求。这些技术在5G基站、边缘计算等低延迟场景中具有重要应用价值,特别是C

weixin_30263073的博客 612

Web接口AES加密逆向分析实战:从CryptoJS解密到Python数据还原

在Web开发与数据抓取领域,接口数据加密是常见的安全防护手段,其中AES对称加密算法因其安全性高、性能均衡成为主流选择。其原理是通过密钥和初始化向量,采用CBC等模式对数据进行块加密,确保传输过程中的机密性。掌握AES解密技术,对于开发者理解前后端数据交互安全、进行合规的数据集成与自动化处理具有重要价值。典型的应用场景包括加密货币数据平台(如Coinglass)的API响应解密、金融数据采集等。本文将以CryptoJS前端加密为例,详细拆解如何通过浏览器开发者工具进行逆向工程,定位密钥与算法参数,并最终使用

weixin_33744854的博客 444

MySQL等保三级合规实践:如何安全配置root账户的本地与受信主机登录策略

本文详细介绍了MySQL在等保三级合规框架下如何安全配置root账户的本地与受信主机登录策略。通过分析root账户的特殊保护需求,提供三种安全加固方案,包括限制访问范围、限定登录IP和完全禁止远程登录,并指导创建安全的远程管理账户。文章还涵盖了密码策略强化、日志审计配置和网络层防护等关键合规要求,帮助用户实现MySQL的等保三级全面合规。

weixin_42522964的博客 259

Protege本体建模实战:从零构建电影知识图谱并导入Neo4j

本体建模是知识图谱构建的基石,通过类、属性、实例和约束系统描述领域知识,为数据提供可复用的语义骨架。OWL作为本体描述语言的标准,配合Protege工具可实现可视化建模,并借助推理机验证逻辑一致性,提升模型可靠性。在工程落地中,本体模型常需导入图数据库如Neo4j,以支持高效的关联查询与业务应用。本文以影视领域为背景,完整演示Protege中定义类层级、创建对象/数据属性、填充实例,以及导出OWL文件并通过Python脚本转换为Neo4j节点与关系的全过程,同时梳理命名空间、匿名节点、编码等易踩坑点,帮助读

weixin_29047545的博客 281

我在Webpack bundle里挖出了SM4加密模块:一种“不补环境“的逆向思路

将其挂载到。

恋恋风尘的博客 298

FPGA原型验证(七):如何选择、搭建原型验证平台?

本篇概要::讨论了在项目初期选择目标FPGA平台的重要性,包括自制板卡与购买现成板卡之间的决策。主要是为那些希望建立基于FPGA的原型平台的工程师和设计师提供了深入的技术细节和决策指导,无论是选择自制还是购买现成的解决方案。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 943

web爬虫笔记:js逆向案例七 RSA非对称加密(webpack打包)

js逆向中的rsa加密

qq_49268524的博客 743

华为OD技术面真题 - Python开发 - 2

汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。

qq_45776114的博客 910

ArcGIS与地理加权回归GWR【一】

因此,在实际问题研究中我们经常发现回归参数在不同地理位置上往往表现为不同,也就是说回归参数随地理位置变化,这时如果仍然采用全局空间回归模型(全局假设β是不会变得),得到的回归参数估计将是回归参数在整个研究区域内的平均值,如上所说某一个因素在ABC等不同的地理位置对房价的影响是不同的,假如采用全局空间回归模型,便忽略了数据的空间位置属性,只反映平均意义下因变量与自变量的相关关系,而不能有效反映回归关系的空间非平稳性的特征。当自变量为1个时,是一元线性回归,自变量为2个及以上时,称为多元线性回归。

JData_Engineer的博客 1374

【逆向实战 某视频防盗链参数的生成】防盗链cKey的生成,还要补环境?还是单嵌套的webpack?

【逆向实战 某视频防盗链参数的生成】防盗链cKey的生成,还要补环境?还是单嵌套的webpack?

₰₯₮ 的博客 2012

ubuntu系统禁止/开启内核自动更新

内核自动更新会导致驱动和内核版本不对应,导致驱动无法使用,所以需要禁止自动更新内核。本文介绍ubuntu系统禁止/开启内核更新的方法。

m0_50105717的博客 5289

Web逆向-如何快速定位加密参数的位置

本文介绍了多种定位加密参数的技术方法。主要包括:1) 直接关键词搜索法,适用于未混淆代码;2) XHR监听和事件监听法,通过断点跟踪请求;3) 详细的跟栈操作技巧,强调注意闭包问题和使用HOOK技术;4) 重点讲解了HOOK技术的实现思路,包括Object Hook和Proxy两种方式;5) 简要提及内存漫游技术。文章特别强调了跟栈操作和HOOK技术的重要性,指出它们是解决加密参数定位问题的关键方法,同时提供了实用的调试技巧和注意事项。

qq_65073403的博客 1204

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

前端加密逆向实战:从JS解密到Python爬虫的完整解决方案

在Web开发与数据采集领域,前端加密技术已成为保护数据传输安全、防止内容被轻易抓取的重要手段。其核心原理在于,服务器将敏感数据(如文本、用户信息)通过特定算法(如AES、RSA)加密后传输至浏览器,由前端JavaScript代码在客户端完成解密与渲染。这种技术不仅提升了数据安全性,也增加了自动化数据采集的难度。对于开发者而言,理解并逆向这套流程,即通过分析网络请求、追踪JS调用栈、定位解密函数,最终在本地复现解密逻辑,是一项极具价值的工程实践技能。它广泛应用于数据合规采集、安全审计、以及理解现代Web应用架

weixin_30546189的博客 467

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

web逆向笔记:js逆向案例四 QQ音乐 sign值(webpack打包代码如何扣取)

webpack。

qq_49268524的博客 3373

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: drissionpage + opencv 解决 wsj iframe滑块
下一篇: web逆向-多层加密
我真看不懂代码
博客等级 码龄7年 189粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值