[实战]加密传输数据解密

news2024/9/29 3:26:40

前言

下面将分享一些实际的渗透测试经验,帮助你应对在测试中遇到的数据包内容加密的情况。我们将以实战为主,技巧为辅,进入逆向的大门。

技巧

开局先讲一下技巧,掌握好了技巧,方便逆向的时候可以更加快速的找到关键函数位置!

后续也会又更多的实战会按照技巧去实战。

  • 关键词搜索一:在js代码没有混淆的情况下。我们可以直接进行关键词搜索,加密可以搜索encrypt,解密可以搜索decrypt。至于原因就是,无论是加密数据解密,还是明文数据进行加密,都必然会经过加密算法。

  • 关键词搜索二:如果第一种方法搜索不到需要的信息,可以尝试搜索 JSON.parse() 方法。加密数据通常是字符串格式的,解密后也是字符串格式的。在前端中,需要使用 JSON 格式而不是字符串格式的数据,因此必须进行反序列化(即将字符串转换为 JavaScript 对象)处理。

  • 关键词搜索三:api后端返回的是json键值对格式的,我们也可以去尝试搜索加密字符值的键去找到关键的加密位置。

正文

实战一:

在进入网址后,查看XHR请求时发现数据被加密了。尽管XHR中的数据是经过加密的,但在页面上却以明文形式呈现。因此可以初步判断,在前端渲染页面时,会对从后端传输下来的数据进行解密操作。

724d6e8483e7db8fa2c31f3968427072.jpeg

搜索JSON.parse时,找到了11个参数。在每一个包含JSON.parse的代码行下设置断点,然后刷新页面,断点被断在了18647行。

022111d1378a469dfe2cec8e426ef25a.jpeg

控制台中打印JSON.parse(v),你会发现明文数据就是v。所以这段代码是用来解密的函数。

8203921cb682f701ab2b96f2a9e4867f.jpeg

y是解密后的参数,y是由v解析出来的,v的传参是d,d的传参是l,下断点发现l是加密字符串。Object(c.a)(l)表示对变量c.a执行函数调用,并将参数l传递给该函数。

6b2121eb5fb7bd4156ec9e1408492904.jpeg

将这段代码扣下来并且运行,报错没有没有找到Object(c.a)。

d4ba750f4ff7b57cd275b41e2f580737.jpeg

在控制台打印Object(c.a),直接进去函数内部扣代码

aba7c427f687f3b00c252d06faabd2c8.jpeg

改写一下代码,l是传进去的加密字符串。

f0a1083c6c6c70cc9ddd3dc899e2a773.jpeg

运行之后t报错,发现_keyStr未定义

85b613048fac733c8a6ad8ef2980eb16.jpeg

全局搜索_keyStr发现是一个字符串,直接复制下来。852d7a55cdecff7032126579489ef936.jpeg

运行报错Object(c.b)未定义

0e2583a6b84f8906a8d436e413ec296d.jpeg

将鼠标浮上Object(c.b)可以发现他是一个名字为d2的函数,进去js里面将d2函数抠出来并且替换掉函数名

cf7d0970a63deb12d58153e924346f87.jpeg 38db54b567cdd407cc3e346bb567b388.jpeg

改写函数名

f3569a1f19e09884aaa93868df9f628a.jpeg

运行报错_p未定义

41d66efcbc17897660f187530a001d5b.jpeg

全局搜索_p发现这个变量很乏有太多重复的,不过初步判断是一个变量,我们可以在_p后面加一个空格搜索。_p加空格只有7个,很快便找到了这个变量,发现他是一个字符串。将他扣进代码里面。

e6cd710c3eaa3bdf29d425c4637f066a.jpeg

运行报错,_u_d函数未定义。

3bc86fc9ee0ff8f2136f09ddc5fdc79a.jpeg

全局搜索_u_d,将其扣进代码里面

2601c8011fc22250ff3c6ccb0b32da31.jpeg

运行一下。a346f06d05d39874e62ee4e40f043fe3.jpeg

数据已经成功解密了。

实战二:

抓个包,数据包内容已经被加密了

180e1024c0b457ae58e18ac100db849a.jpeg

从initiator进入到js文件里面

caed64b504995776ed18ae2aabc58cbe.jpeg

搜索解密关键词,发现第66752有个decrypt,把断点下在return那一行。

a8cd27f66f9e386f966c3517c380b942.jpeg

在66752下断点刷新,将返回的那段代码在控制台打印。发现是解密之后的数据,那么这一段函数肯定是解密函数

a9c08e0da48fde0156539d7d1fbb6944.jpeg

扣代码运行报错url2和text2未定义

580f991d5ac8aead993a47a4963b6c1a.jpeg

去浏览器下断点补上两个未定义的参数,url2是一个固定的值

0e014a11d5d1ee4e8637cd1ce7d62039.jpeg

而text2是加密字符串。

b88029c39e90c202c3dd0fe757ba7687.jpeg

运行之后报错cryptoJs未定义

43edd477c8db9c1dd5cf16495802a520.jpeg

将cryptoJs.exports在控制台上面打印出来,发现是加密库crypto,直接调库替换即可

c5bc5c82a4c870e0225b76dc44248620.jpeg

运行报错,node.js里面的解码函数是btoa,将encode替换成btoa即可。

4dabcd74e526d1a37cf4f8fe249c7a6c.jpeg

解密成功

0201060fb61e3315e189b4bd90efbda5.jpeg

结尾

部分数据代码已做脱敏处理。

此文章仅供技术交流使用,如有侵犯权益,联系我删除。

原创稿件征集

征集原创技术文章中,欢迎投递

投稿邮箱:edu@antvsion.com

文章类型:黑客极客技术、信息安全热点安全研究分析等安全相关

通过审核并发布能收获200-800元不等的稿酬。

更多详情,点我查看!

9df2cc2c4bd952739465c40c0ce116bd.gif

靶场实操,戳"阅读原文"

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

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

相关文章

代码随想录 Leetcode226.翻转二叉树

题目: 代码(首刷看解析 2024年1月25日): class Solution { public:TreeNode* invertTree(TreeNode* root) {if(root nullptr) return root;swap(root->left,root->right);invertTree(root->left);invertTree(root->right);retu…

Java面试提纲

JDK 1 jdk1.8版本后的新特性有哪些? Java Development Kit (JDK) 1.8(也称为Java 8)在2014年3月发布,引入了许多重要的新特性,以下是其中的一些关键特性: Lambda表达式: Java 8引入了lambda表达式&#x…

java大数据hadoop2.9.2 Linux安装mariadb和hive

一、安装mariadb 版本centos7 1、检查Linux服务器是否已安装mariadb yum list installed mariadb* 2、如果安装了,想要卸载 yum remove mariadb rm -rf /etc/my.cnf rm -rf /var/lib/mysql 才能完全删除 3、安装mariadb 在线网络安装 yum install -y mari…

java常见的面试问题

目录 一、异常 1、 throw 和 throws 的区别? 2、 final、finally、finalize 有什么区别? 3、try-catch-finally 中哪个部分可以省略? 4、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗&#…

vue3 实现自定义radio

需求背景解决效果bgRadio.vue 需求背景 实现一个自定义选中样式的 radio 解决效果 bgRadio.vue <!--/** * author: liuk * date: 2024/01/25 * describe: 背景单选框 * email: 1229223630qq.com */--> <template><div class"radio-wrap"><l…

Linux 互斥锁、读写锁、条件变量以及信号量

互斥锁 同步与互斥概述 现代操作系统基本都是多任务操作系统&#xff0c;即同时有大量可调度实体在运行。在多任务操作系统中&#xff0c;同时运行的多个任务可能&#xff1a; 都需要访问/使用同一种资源多个任务之间有依赖关系&#xff0c;某个任务的运行依赖于另一个任务 …

AP5216 平均电流型LED降压恒流驱动IC 手电筒汽车摩托车灯芯片

产品描述 AP5216 是一款 PWM工作模式, 高效率、外围简单、内置功率管&#xff0c;适用于5V&#xff5e;100V输入的高精度降压 LED 恒流驱动芯片。输出最大功率可达9W&#xff0c;最大电流 1.0A。AP5216 可实现全亮/半亮功能切换&#xff0c;通过MODE 切换&#xff1a;全亮/半亮…

Java 集合Map相关面试题

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于java面试题系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基…

如何使用docker实现越权漏洞-webug靶场搭建(超详解)

越权漏洞-webug靶场搭建 1.打开docker systemctl start docker 2.查找webug docker search webug 3.拉取docker.io/area39/webug 镜像 docker pull docker.io/area39/webug 4.查看镜像 docker images 5.创建容器 docker run -d -p 8080:80 --name webug docker.io/area39/we…

哈夫曼树(Huffman)

哈夫曼树 Huffman 编码问题 问题引入 什么是编码&#xff1f; 简单说就是建立【字符】到【数字】的对应关系&#xff0c;如下面大家熟知的 ASC II 编码表&#xff0c;例如&#xff0c;可以查表得知字符【a】对应的数字是十六进制数【0x61】 \000102030405060708090a0b0c0d…

五款焊在电脑上的效率软件

在当今快节奏的商业环境中&#xff0c;提高工作效率成为了每个人都渴望实现的目标。尤其是在面对繁忙的工作日程、庞杂的任务清单和团队合作的压力时&#xff0c;我们需要一些可靠的工具来帮助我们更好地管理时间、组织工作和提高生产力。幸运的是&#xff0c;现在有许多高效的…

k8s的图形化工具--rancher

什么是rancher&#xff1f; rancher是一个开源的企业级多集群的k8s管理平台 rancher和k8s的区别 都是为了容器的调度和编排系统&#xff0c;但是rancher不仅能够调度&#xff0c;还能管理k8s集群&#xff0c;自带监控&#xff08;普罗米修斯&#xff09; 实验部署 实验架构…

分类预测 | Matlab实现GRU-Attention-Adaboost基于门控循环单元融合注意力机制的Adaboost数据分类预测/故障识别

分类预测 | Matlab实现GRU-Attention-Adaboost基于门控循环单元融合注意力机制的Adaboost数据分类预测/故障识别 目录 分类预测 | Matlab实现GRU-Attention-Adaboost基于门控循环单元融合注意力机制的Adaboost数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类效果 …

WinSCP如何使用公网TCP地址访问本地服务器

文章目录 1. 简介2. 软件下载安装&#xff1a;3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件&#xff0c;它的主要功能是在本地与远程计…

基于 Gurobi 的纸浆运载船顺序装卸决策建模求解|Gurobi优化应用

Pulp-Carrier-Loading-Optimization-with-Gurobi 基于 Gurobi 的纸浆运载船顺序装卸决策建模求解。中山大学智能工程学院《运筹学》课程期末建模课程设计。优化工具&#xff1a;Python的Gurobi 项目仓库 Github: Pulp-Carrier-Loading-Optimization-with-Gurobi 摘要 本研究…

信驰达科技多款TI CC2340R5系列低功耗蓝牙模块强势上线

信驰达科技基于TI CC2340R5推出了多款蓝牙串口模块&#xff0c;包括RF-BM-2340B1、RF-BM-2340B1I、RF-BM-2340A2、RF-BM-2340A2I、RF-BM-2340C2&#xff0c;RF-BM-2340x系列低功耗蓝牙模块采用TI CC2340R5 5 mm x 5 mm(VQFN40) 和4 mm x 4 mm(VQFN24)封装SoC&#xff0c;支持板…

信息检索与数据挖掘 | (十二)聚类

文章目录 &#x1f4da;聚类&#x1f4da;KMeans&#x1f4da;层次聚类&#x1f407;层次聚类概述&#x1f407;dendrogram-树状图&#x1f407;linkages-衡量两个类之间的距离&#x1f407;Lance-Williams算法&#x1f407;K-means VS 层次聚类 &#x1f4da;DBSCAN &#x1f…

pdf怎么转换成jpg图片?pdf转图片工具用它就够了

有时候&#xff0c;我们可能需要将pdf文档转换为图片格式&#xff0c;以便于文档的处理和管理。通过将pdf转换为图片&#xff0c;可以将每一页pdf转换为独立的图片文件&#xff0c;便于整理、存储和管理&#xff0c;如果您有多个PDF文件需要转换成图片&#xff0c;可以批量pdf转…

WorkPlus AI智能客服解决方案,提升企业服务质量

在当今竞争激烈的商业环境中&#xff0c;提供卓越的客户服务成为企业赢得市场竞争的关键。而AI智能客服技术的不断发展&#xff0c;则成为了提高服务效率和满意度的利器。作为一款领先的AI助理解决方案&#xff0c;WorkPlus AI助理以其出色的性能和智能化的功能&#xff0c;助力…

(二十八)ATP应用测试平台——使用electron集成vue3桌面应用程序

前言 Electron 是一个开源的框架&#xff0c;它允许使用 Web 技术&#xff08;HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序。通过 Electron&#xff0c;开发者可以使用前端技术栈来创建具有原生应用程序体验的桌面应用。 Electron可以在 Windows、Mac 和 L…