JS逆向实战21——某查查webpack密码加密
声明
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
网站
aHR0cHM6Ly93d3cucWNjLmNvbS8=
前言
阅读前 请先阅读下我的另一篇文章 看看别的webpack打包的网站是如何逆向的。(https://www.cnblogs.com/zichliang/p/17517073.html)
此文章只是单纯分析。不涉及滑块以及风控以及headers其他的参数。
只是单纯研究密码的加密。
数据接口分析

如上图所示,我们需要把epass参数的生成给找出来

直接搜索这个参数 点击第二个

console运行下

证明 o.default.encrypt(a, "qcc") 这个方法就是我们所需要的方法函数
解析进断点。往下走


这就可以判断。这是通过webpack打包的程序。
我们点进这个函数中


然后发现这不就是加载器 只不过不能直接用吗?
扣代码
扣加载器
其实这个加载器很简单。

我们把源码复制到本地,收缩起来,发现这个文件本身就是个自执行文件。
这个文件,我们将他手动修改一下
!function (r) {
var l = {};
function d(e) {
var t = l[e];
if (void 0 !== t)
return t.exports;
var a = l[e] = {
id: e,
loaded: !1,
exports: {}
};
console.log(e)
return r[e].call(a.exports, a, a.exports, d),
a.loaded = !0,
a.exports
}
}({
//模块代码
})
修改成这个鸟样子就可以了。
定位加密函数
我们重新输入账号和密码然后过下最开始我们过的断点。


持续往下走。。。。
在这里打上断点

然后去刷新页面。
因为webpack打包是初始化项目,所以后面不需要再输入密码去看断点了。

看下堆栈。我们往下看第二个模块代码 251115

可以发现 e.AES = n._createHelper(v) 这个地方就是我们加密初始化的地方。
那么有个问题来了: 为什么 35519 不是呢?
很简单: 一句话 这个模块代码是调用加密算法的。
改写加密函数
把这个模块代码放到分发器中。

还需要加一步============> 把这个加密方法抛出去 ,这样后续才能调用 window.aes_encrypt"encrypt" 这个方法。

还需要两步
- 在加载器中调用这个加密方法。

- 打印下所需分发器 函数的值

后面就很简单了,一直运行 缺什么模块函数就补什么模块函数。

结果
全部都补充完毕,我们运行下我们代码。

JS逆向实战21——某查查webpack密码加密的更多相关文章
- JS逆向实战12——某店 captchaToken 参数 加密
今天爬取的是网站需要模拟登陆 目标网站 aHR0cHM6Ly9wYXNzcG9ydC55aGQuY29tL3Bhc3Nwb3J0L2xvZ2luX2lucHV0LmRv 浏览器抓包分析 随便输入一堆假 ...
- JS逆向实战10——某集团RSA长加密
由于本网站较为特殊 目标网站加密与其他稍有不同 目标网站 68747470733a2f2f65632e6d696e6d6574616c732e636f6d2e636e2f6f70656e2f686f6 ...
- JS逆向实战1——某省阳光采购服务平台
分析 其实这个网站基本没有用到过什么逆向,就是简单的图片base64加密 然后把连接变成2进制存成文件 然后用ocr去识别即可 !! 注意 在获取图片连接 和对列表页发起请求时一定要用一个请求,也就是 ...
- JS逆向实战3——AESCBC 模式解密
爬取某省公共资源交易中心 通过抓包数据可知 这个data是我们所需要的数据,但是已经通过加密隐藏起来了 分析 首先这是个json文件,我们可以用请求参数一个一个搜 但是由于我们已经知道了这是个json ...
- JS逆向实战8——某网实战(基于golang-colly)
其实本章算不上逆向教程 只是介绍golang的colly框架而已 列表页分析 根据关键字搜索 通过抓包分析可知 下一页所请求的参数如下 上图标红的代表所需参数 所以其实我们真正需要的也就是Search ...
- JS逆向实战7-- 某省在线审批网站params 随机生成
参数分析 我们首先通过抓包 发现这个就是我们所需要的数据 然后我们通过fidder 发起请求 结果: 通过我们反复测试 发现这个params的参数是每次请求中都会变化的 断点查找 我们通过 这个t参数 ...
- JS逆向实战6-- x轴 y轴 过点触验证码
点触验证码是一种常见的反爬手段 解决方案有两种:一种是直接解决,这需要深度学习机器学习等图像处理技术,以大量的数据训练识别模型,最终达到模型足矣识别图片中的文字提示和应该点击的区域之间的对应关系. 这 ...
- JS逆向实战5--JWT TOKEN x_sign参数
什么是JWT JWT(JSON WEB TOKEN):JSON网络令牌,JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式在不同实体之间安全传输信息(JSON格式).它是在Web环境下 ...
- JS逆向实战4--cookie——__jsl_clearance_s 生成
分析 网站返回状态码521,从浏览器抓包来看,浏览器一共对此地址请求了三次(中间是设置cookie的过程): 第一次请求:网站返回的响应状态码为 521,响应返回的为经过 混淆的 JS 代码:但是这些 ...
- JS逆向实战2--cookie-AcwScV2加密—某招标信息网
cookies的获取 首先拿到第一次访问原链接 拿到acw_tc的值,然后放到session中去 再用这个session再次访问原链接拿到js加载的加密的真实数据.用了一些反混淆. 最后获取这个数据中 ...
随机推荐
- [AGC001E] BBQ Hard题解
Problem [AGC001E] BBQ Hard 计算: \[\sum_{i=1}^{n}\sum_{j=i+1}^n\binom{a_i+b_i+a_j+b_j}{a_i+a_j} \] 其中\ ...
- 【Java】Java代码拷贝文件的速度
Java代码拷贝文件的速度究竟有多快? 前言 最近学习Java到了流处理,其中有种流叫FileInputStream和FileOutputStream,简单来说,就是操作文件的,老师给我们示范了一个非 ...
- 为什么 GPU 能够极大地提高仿真速度?
这里的提速主要是针对时域电磁算法的.因为时域算法的蛙跳推进模式仅对大量存放在固定 位置的数据进行完全相同的且是简单的操作(移位相加),这正是 GPU 这类众核 SIMD 架构所进行的运算,即 ALU ...
- postman接口关联-token值
背景: 在测试工作中,测试鉴权的接口需要用到登录接口的token,需要我们先调用登录接口,获得token,然后把即时获得的token填入请求中发送请求,我们可以用设置全局变量的办法解决这个问题 实 ...
- SVM主体思路和代码实现
之前学习的KNN算法属于直接将所有的训练图片数据化,根据图片的像素值进行判断,最简单的NN算法是用与待判断图片的差距最小(距离最近)的那张图片的类别当做此图片的类别,我们不难看到,1NN算法的正确性很 ...
- 如何在前端应用中合并多个 Excel 工作簿
本文由葡萄城技术团队于博客园原创并首发.葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言|问题背景 SpreadJS是纯前端的电子表格控件,可以轻松加载 Excel 工作簿中的数据 ...
- 【2023 · CANN训练营第一季】昇腾AI入门Pytorch
昇腾AI全栈架构 华为AI全栈全场景解决方案为4层,分别为芯片层.芯片使能层.AI框架层和应用使能层. 芯片 基于统一.可扩展架构的系列化AI IP和芯片,为上层加速提供硬件基础. 芯片产品:昇腾31 ...
- @Target元注解的使用
@Target注解标记另外的注解用于限制此注解可以应用哪种Java元素类型.先看Java SE 8中@Target是如何声明的: package java.lang.annotation; publi ...
- 轻松掌握Python+主流测试框架Requests接口自动化,快速转型自动化测试
轻松掌握Python+主流测试框架Requests接口自动化,快速转型自动化测试 最近几年,自动化测试已经成为了软件测试的主流趋势,而Python语言和Requests库作为主流测试框架,也成为了越来 ...
- 老生常谈:值类型 V.S. 引用类型
我在面试的时候经常会问一个问题:"谈谈值类型和引用的区别".对于这个问题,绝大部分人都只会给我两个简洁的答案:"值类型分配在栈中,引用类型分配在堆中",&quo ...