逆向案例二十九——某品威客登录,请求头参数加密,简单webpack

news2024/12/23 14:37:38

网址:登录- 一品威客网,创新型知识技能共享服务平台

抓到登陆包分析,发现请求头有参数加密,直接搜索

定位到加密位置,打上断点,很明显是对象f的a方法进行了加密。

往上找f,可以发现f被定义了,是个webpack,打上断点,刷新页面‘

进入e,找到加载器,复制自执行函数,导出加载器,补上环境,改成字典格式,删除初始化。找到443函数,复制函数。

初步写成代码

现在把里面的参数找齐,l是一个固定对象,是固定的打印一下就知道了

M是载荷

U在上方有定义

里面缺少A,上面定义了

又缺少h.e函数 ,进去复制

将h.e改写成d

现在代码情况,现在就是缺少模块了。去一个个复制即可。

其实也不用这样子扣webpack,因为我发现就如f.a函数中,里面的的方法无非是MD5和AES

所以调用库即可。

完整代码:


const CryptoJS = require("crypto-js");
function d(t) {
    return CryptoJS.MD5(t)
};
l = {
            key: CryptoJS.enc.Utf8.parse("fX@VyCQVvpdj8RCa"),
            iv: CryptoJS.enc.Utf8.parse(function(t) {
                for (var e = "", i = 0; i < t.length - 1; i += 2) {
                    var n = parseInt(t[i] + "" + t[i + 1], 16);
                    e += String.fromCharCode(n)
                }
                return e
            }("00000000000000000000000000000000"))
        }
var v = function(data) {
            return function(data) {
                return CryptoJS.AES.encrypt(data, l.key, {
                    iv: l.iv,
                    mode: CryptoJS.mode.CBC,
                    padding: CryptoJS.pad.Pkcs7
                }).toString()
            }(data)
};
var g = {
    "i": false,
    "j": false,
    "h": true,
    "d": "prod",
    "a": "https://s1.weikeimg.com/_nuxt/",
    "e": "https://im2.epwitkey.com",
    "b": "4ac490420ac63db4",
    "c": "a75846eb4ac490420ac63db46d2a03bf",
    "f": "af9f93d4530c6167",
    "g": "c93ce713af9f93d4530c6167b78a3871"
};
A = parseInt((new Date).getTime() / 1e3);
var M={
    "username": "123456",
    "password": "123456",
    "code": "",
    "hdn_refer": "https://zt.epwk.com/"
};
var U = {
    "App-Ver": "",
    "Os-Ver": "",
    "Device-Ver": "",
    Imei: "",
    "Access-Token": "",
    Timestemp: A,
    NonceStr: "".concat(A).concat(Object(d)()),
    "App-Id": l.j ? l.f : l.b,
    "Device-Os": "web"
};
f = function(t) {
            var e = "";
            return Object.keys(t).sort().forEach((function(n) {
                e += n + ("object" === typeof (t[n]) ? JSON.stringify(t[n], (function(t, e) {
                    return "number" == typeof e && (e = String(e)),
                    e
                }
                )).replace(/\//g, "\\/") : t[n])
            }
            )),
            e
        };
h = function(t) {
            var data = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
              , e = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "a75846eb4ac490420ac63db46d2a03bf"
              , n = e + f(data) + f(t) + e;
            return n = d(n),
            n = v(n)
        };
console.log(h(U, M, g.c))
// 结果为RLD9f/i0LE0orrEqIey98ZOF7ezlL+yFkeycUVYF2kI=

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

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

相关文章

Superset二次开发之筛选器native Filters 水平布局

引言 Apache Superset作为一个功能强大的开源数据探索和可视化平台&#xff0c;提供了丰富的配置选项来定制化用户体验。其中&#xff0c;HORIZONTAL_FILTER_BAR 是一个重要的配置项&#xff0c;专注于优化和改进Superset中的筛选器条布局与交互。 什么是HORIZONTAL_FILTER_B…

day4 vue2以及ElementUI

创建vue2项目 可能用到的命令行们 vue create 项目名称 // 创建项目 cd 项目名称 // 只有进入项目下&#xff0c;才能运行 npm run serve // 运行项目 D: //切换盘符 更改 Vue项目的端口配置 基础语法 项目创建完成之后&#xff0c;会有一个组件HelloWorld.vue&#xff0c;…

前后端项目打包对比——关于Spring Boot Maven Plugin配置的问题

Spring Boot Maven Plugin 配置详解 Spring Boot Maven Plugin 配置详解1. 添加插件到 pom.xml2. 插件配置2.1 基本配置2.2 配置参数详解默认行为说明简单配置示例为什么这样的配置能工作&#xff1f;进一步说明 2.3 高级配置 3. 使用插件打包应用程序3.1 打包成 JAR 文件3.2 打…

使用 XRDP 远程linux主机

一、简介 XRDP是一个开源的远程桌面协议&#xff08;Remote Desktop Protocol,RDP&#xff09;服务器&#xff0c;采用的是标准的RDP。 官网地址&#xff1a;https://www.xrdp.org/ github地址&#xff1a; https://github.com/neutrinolabs/xrdp/releases XRDP也是C/S架构&…

主成分分析算法

一、算法介绍 主成分分析&#xff1a;用较少的综合变量尽可能多地反映原来信息地统计方法 原理: PCA的主要目标是将特征维度变小&#xff0c;同时尽量减少信息损失。就是对一个样本矩阵&#xff0c;一是换特征&#xff0c;找一组新的特征重新标识&#xff1b;二是减少特征&a…

探索Perl的奇妙世界:入门学习与实战指南

一、Perl语言概述 1.1 Perl的起源与发展 Perl&#xff08;Practical Extraction and Reporting Language&#xff09;是一种高级、解释型、动态编程语言&#xff0c;由Larry Wall于1987年发明。Perl的初衷是作为一种文本处理工具&#xff0c;帮助系统管理员在Unix系统中处理报…

grep命令搜索部分命令

首先 然后可以输入&#xff5c;以及grep命令 比如 bjobs| grep "3075*"bjobs| grep "3075"这个结果是这样的&#xff0c;

「12月·长沙」第四届机器人、自动化与智能控制国际会议(ICRAIC 2024)

随着科技的飞速发展&#xff0c;智能机器人在当今社会的重要性愈发凸显。从制造业的自动化生产线&#xff0c;到医疗领域的手术机器人&#xff0c;再到家庭生活中的智能助手&#xff0c;机器人与人工智能的融合正在改变着我们的生产和生活方式。第四届机器人、自动化与智能控制…

反转链表java实现

力扣206 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 class Solution {public ListNode reverseList(ListNode head) {ListNode pre null;while(head!null){ListNode next head.next;head.nextpre;pre head;head next;}…

matlab仿真 数字信号载波传输(上)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第七 章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; clear all nsymbol100000;%每种信噪比下的发送符号数 T1;%符号周期 fs100;%每个符号的采样点数 ts1/fs;%采样时间间隔 t0:ts:…

分类常用的评价指标-二分类/多分类

二分类常用的性能度量指标 精确率、召回率、F1、TPR、FPR、AUC、PR曲线、ROC曲线、混淆矩阵 「精确率」查准率 PrecisionTP/(TPFP) 「召回率」查全率RecallTP/(TPFN) 「真正例率」即为正例被判断为正例的概率TPRTP/(TPFN) 「假正例率」即为反例被判断为正例的概率FPRFP/(TNFP)…

GPT-4o Mini:探索最具成本效益的小模型在软件开发中的应用

随着人工智能技术的迅猛发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域也取得了显著的进步。OpenAI 最新发布的 GPT-4o Mini 模型&#xff0c;以其卓越的性能和极具竞争力的价格&#xff0c;成为了广大开发者关注的焦点。作为一名长期关注人工智能及其在软件开发…

基于JSP、java、Tomcat三者的项目实战--校园交易网(1)-项目搭建(前期准备工作)

这是项目的初始页面 接下来我先写下我的初始项目搭建 技术支持&#xff1a;JAVA、JSP 服务器&#xff1a;TOMCAT 7.0.86 编程软件&#xff1a;IntelliJ IDEA 2021.1.3 x64 首先我们打开页面&#xff0c;准备搭建项目的初始准备 1.New Project 2.随后点击Next&#xff0c;勾…

自定义 RAG 工作流:在 IDE 中结合 RAG 编排,构建可信的编码智能体

构建编码智能体并非一件容易的事。结合我们在 AutoDev、ArchGuard Co-mate、ChocoBuilder 等智能体项目的经验&#xff0c;我们开始思考在 Shire 语言中提供一种新的 RAG 工作流。结合我们先前构建的 IDE 基础设施&#xff08;代码生成、代码校验、代码执行等接口&#xff09;&…

【SQL 新手教程 1/20】SQL语言MySQL数据库 简介

&#x1f497; 什么是SQL&#xff1f;⭐ (Structured Query Language) 结构化查询语言&#xff0c;是访问和处理关系数据库的计算机标准语言 无论用什么编程语言&#xff08;Java、Python、C……&#xff09;编写程序&#xff0c;只要涉及到操作关系数据库都必须通过SQL来完成 …

蚂蚁集团Android一面凉经(2024)

蚂蚁集团Android一面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《蚂蚁集团Android一面凉经(2024)》。 面试职位: 蚂蚁集团-Android/iOS开发工程师-支…

优秀需求缺陷管理工具推荐及选购技巧

国内外主流的10款需求缺陷管理工具对比&#xff1a;PingCode、Worktile、禅道、Teambition、TAPD、Trello、简道云、Jira 、Bugzilla、Asana。 在选择需求缺陷管理工具时&#xff0c;面对众多选项&#xff0c;许多人可能感到困惑。不管是初创公司还是大型企业&#xff0c;都需要…

N3 - Pytorch文本分类入门

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目录 文本分类的基本流程常用的数据清洗方法如何使用jieba实现英文分词如何构建文本向量代码实践数据准备构建词典生成数据批次和迭代器模型设计模型创建模型训…

【vluhub】zabbix漏洞

介绍&#xff1a; zabbix是对服务器资源状态例如、内存空间、CPU、程序运行状态进行检测、设置预警值、短信设置等功能等一款开源工具。配置不当存在未授权,SQL注入漏洞 弱口令 nameadmin&passwordzabbix nameguest&password POST /index.php HTTP/1.1 Host: 192.1…

[C++实战]日期类的实现

&#x1f496;&#x1f496;&#x1f496;欢迎来到我的博客&#xff0c;我是anmory&#x1f496;&#x1f496;&#x1f496; 又和大家见面了 欢迎来到C探索系列 作为一个程序员你不能不掌握的知识 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低成本搭建个人网站…