当前位置: 首页 > news >正文

[工具推荐]前端加解密之Burp插件Galaxy

如果觉得该文章有帮助的,麻烦师傅们可以搜索下微信公众号:良月安全。点个关注,感谢师傅们的支持。

免责声明

本号所发布的所有内容,包括但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性自测。如因此产生的一切不良后果与文章作者和本公众号无关。如有涉及公司与个人敏感信息,侵权烦请告知,我们会立即删除并致歉。

前言

渗透测试中,经常遇到HTTP报文加密/加签传输的情况,这导致想要查看和修改明文报文很不方便,使用Burp插件Galaxy可以有效解决部分场景下的这个问题,实现自动加解密,在HTTP报文加密/加签传输的情况下也能够进行重放以及暴力破解。

这里用encrypt-decrypt-vuls加解密靶场来进行学习演示。

靶场情况

抓取登录包发现,请求体与响应体都进行了加密,并且还有requestId进行重放校验,timestamp进行时间戳校验,sign进行签名校验。

定位加密函数

利用v_jstools工具,开启挂钩,然后发起登录请求,在控制台中发现了加密前的参数。

定位到该js代码位置,下断点进行调试。

可以看到其利用了AES算法,模式为cbc,填充为pkcs7,key和iv都为1234567891234567。

实现自动解密

知道了加解密算法后,我们就可以利用Galaxy插件来写模板进行"Http Hook"了,Galaxy插件自带了AesCbc的模板。

我们新建一个demo文件,先复制AesCbc的内容过来,然后进行修改,首先修改模式为AES/CBC/PKCS7Padding,将key和iv都修改为1234567891234567。

然后还要修改获取数据和生成数据的方法,即getData和toData方法,因为这里的请求和回显都直接是aes加密的结果。

修改好后,点击start,开启"Http Hook",再次抓取登录包发现自动解密了。

这里的原理就是HTTP请求从客户端到达Burp时,对发送的加密数据进行解密,HTTP请求从Burp将要发送到Server时将,将数据加密回去。

HTTP请求从Server到达Burp时,对返回的加密数据进行解密,HTTP请求从Burp将要发送到客户端时,将数据加密回去。

实现重放

现在实现自动加解密了,但是还无法重发数据包,原因是对requestId做了校验。

改了requestId又会影响签名。

js调试,可以看到sign值是由data + requestId + timestamp的值进行md5后得到的,data就是我们发送的数据,requestId是随机获取的32位的字符,timestamp是当前时间戳。

可以利用Galaxy生成一个32位随机的requestId,生成当前时间戳timestamp,然后再用MD5加密算法加密data + requestId + timestamp生成sign,在HTTP请求从burp发送到server的时候修改这3个请求头即可。

生成32位的随机requestId:

String requestId = FactorUtil.randomString(32);

生成当前时间戳:

String timestamp = String.valueOf(System.currentTimeMillis());

生成签名:

String sign = HashUtil.calcToHex((d+requestId+timestamp).getBytes(),"MD5");

实现在HTTP请求从burp发送到server的时候修改这3个请求头,在hookRequestToServer方法中添加如下这段代码。

修改好后,点击start,开启"Http Hook",再次抓取登录包发现可以重放了。

虽然burp上显示请求头没变化,但实际请求头是在变化的,这里是因为只在hookRequestToServer方法中修改了请求头。

将线程设置的低一点,就可以实现暴力破解了。

参考链接

https://xz.aliyun.com/t/14629

https://github.com/outlaws-bai/Galaxy

https://github.com/0ctDay/encrypt-decrypt-vuls

相关文章:

[工具推荐]前端加解密之Burp插件Galaxy

如果觉得该文章有帮助的,麻烦师傅们可以搜索下微信公众号:良月安全。点个关注,感谢师傅们的支持。 免责声明 本号所发布的所有内容,包括但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性…...

课题项目结题测试的作用

课题项目结题测试是课题项目研究过程中的一个重要环节,它对于确保课题项目的质量和成果具有重要的作用。本文将详细介绍课题项目结题测试的作用。 一、确保课题项目质量 课题项目结题测试是对课题项目研究成果的全面评估和检测。通过结题测试,可以对课…...

中国工商银行长春分行开展“工驿幸福 健康财富”长辈客群康养活动

中国工商银行长春分行作为国有大行,持续完善有温度、专业化、安全稳健的养老场景服务,以工行驿站为依托、以长辈客群养老需求为中心,积极对接社区构建敬老、康养的“金融泛金融”工行驿站服务生态,进一步提升长辈客群的到店体验。…...

机器学习 第十四章

目录 前言 一、隐马尔可夫模型 二、马尔可夫随机场 三、条件随机场 四、学习和推断 1.变量消去 2.信念传播 五、近似推断 1.MCMC采样 2.变分推断 六、话题模型 总结 前言 机器学习最重要的任务是根据一些已观察到的证据来对感兴趣的未知变量进行估计和推测。概率模…...

未来RPA财税的发展前景

近年来,全球数字化进程持续提速,越来越多企业受到效率及运营成本的压力,正努力寻求企业增长发展的新路径,而财务作为企业战略的“大脑”,成为企业数字化转型的重要突破口。RPA技术由于能够自动化各种重复性和繁琐的任务…...

快速设置 terminator 透明背景

看图,按步骤设置后⭐重启一个终端则为透明效果 效果展示:...

Redis+Unity 数据库搭建

游戏中需要存放排行榜等数据,而且是实时存放,所以就涉及到数据库的问题。这里找服务器大神了解到可以用Redis来做存储,免费的效率极高。 Redis的搭建参考上文的文章,同时也感谢这位网友。 搭建Redis 并测试数据 搭建Redis 1.下…...

WebTracing:如何使用一款SDK实现前端全链路监控

引言 在产品的开发和运营过程中我们经常会遇到一些问题,如用户反馈说无法对某某商品下单,而另一位负责运营的同事也提到某某广告在手机上打不开。尽管这些问题被多次报告,但我们却难以复现这些故障,这让团队感到十分棘手。如何有效地记录项目中的错误并能够重现这些问题,…...

【Story】编程迷航:从 “ 我怎么才学会 ? ” 到 “ 我怎么这么厉害 ! ”

目录 大学生编程入门指南:选择语言、制定计划与避坑技巧1. 选择适合的编程语言1.1 Python1.2 Java1.3 C/C1.4 JavaScript1.5 SQL 2. 制定有效的学习计划2.1 设定明确的目标2.2 制定学习时间表2.3 选择学习资源2.4 实践和项目 3. 避免常见学习陷阱3.1 避免过度焦虑3.…...

基于“日志审计应用”的 DNS 日志洞察实践

作者:羿莉 (萧羿) 基础背景 DNS(Domain Name System) [ 1] 是任何网络活动的基础。它将易于记忆的域名转换为机器能够理解的 IP 地址。监控 DNS 服务可以帮助用户识别网络活动并保持系统安全。出于合规和安全性的考虑,公司通常要求对网络日志进行存储和…...

大学按照学科类别、办学层次、教育性质分类有哪些?创龙教仪一文带您了解

大学的分类多种多样,主要可以从学科类别、办学层次、教育性质等方面进行划分。 一、按学科类别划分 综合类大学 特点:学科门类齐全,文理渗透,科研实力强。 优势:拥有较多的国家级重点学科和实验室,师资…...

数据结构与算法 - 递归

一、递归 1. 概述 定义:在计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集。 比如单链表递归遍历的例子: void f(Node node) {if(node null) {return;}println("before:" node…...

python:plotly 网页交互式数据可视化工具

pip install plotly plotly-5.22.0-py3-none-any.whl pip install plotly_express 包含:GDP数据、餐厅的订单流水数据、鸢尾花 Iris数据集 等等 pip show plotly Name: plotly Version: 5.22.0 Summary: An open-source, interactive data visualization librar…...

聊一聊 webpack5性能优化有哪些?

介绍 此文章基于webpack5来阐述 webpack性能优化较多,可以对其进行分类 优化打包速度,开发或者构建时优化打包速度(比如exclude、catch等)优化打包后的结果,上线时的优化(比如分包处理、减小包体积、CDN…...

公布一批神马爬虫IP地址,真实采集数据

一、数据来源: 1、这批神马爬虫IP来源于尚贤达猎头公司网站采集数据; 2、数据采集时间段:2023年10月-2024年1月; 3、判断标准:主要根据用户代理是否包含“YisouSpider”,具体IP没做核实。 二、神马爬虫主…...

uni-app全局文件与常用API

文章目录 rpx响应式单位import导入css样式及scss变量用法与static目录import导入css样式uni.scss变量用法 pages.json页面路由globalStyle的属性pages设置页面路径及窗口表现tabBar设置底部菜单选项及iconfont图标 vite.config中安装插件unplugin-auto-import自动导入vue和unia…...

连接器表面缺陷检测方案

连接器是一种用于连接电子设备或电路中不同部件之间的组件,通常用于传输电力、信号或数据。连接器的设计和类型各不相同,以适应不同设备和应用的需求。连接器用于连接电子设备之间的电线、电缆或电路板,实现信号传输和电力供应。连接器设计应…...

React项目动态设置index.html中的<title>标签内容

1. 安装react-helmet-async npm install react-helmet-async -S2. 如下修改App.tsx即可 import { ConfigProvider } from "antd"; import { RouterProvider } from "react-router-dom"; import { router } from "//router"; import { Helmet, …...

大龄程序员转型攻略:拥抱人工智能,开启新征程

前言 随着科技的飞速发展,人工智能浪潮席卷全球,相关岗位炙手可热。在这个背景下,许多大龄程序员开始思考如何转型,以适应时代的变化。结合自身编程基础,大龄程序员可以学习机器学习、深度学习算法,投身于…...

Jenkins保姆笔记(1)——基于Java8的Jenkins安装部署

前言 记录分享下Jenkins的相关干货知识。分2-3篇来介绍Jenkins的安装部署以及使用。还是和以前一样,文章不介绍较多概念和细节,多介绍实践过程,以战代练,来供大家学习和理解Jenkins 概念 Jenkins是一个开源的自动化服务器&…...

学习c语言第18天(字符串和内存函数)

1.函数介绍 1.1 strlen size_t(就是无符号整形) strlen(const char * str); 字符串已经\0作为结束标志,strlen函数返回的是在字符串中\0前面出现的字符个数(不包 含\0) 参数指向的字符串必须要以\0结束。 注意函数的返回值为size_t,…...

无心剑七绝《潘展乐神》

七绝潘展乐神 潘江陆海忘情游 展志凌云筑玉楼 乐创全球新纪录 神姿英发舞金钩 2024年8月1日 平水韵十一尤平韵 潘展乐神,这四个字,如同四座矗立的丰碑,分别代表了潘展乐在游泳领域的卓越成就、豪情壮志、快乐创新和非凡风采。无心剑的这首…...

Linux C++ 开发1 - 搭建C++开发环境

1. 安装GCC/GDB 1.1. 安装1.2. 校验 2. 安装CMake 2.1. 安装2.2. 校验 3. 安装IDE 3.1. VSCode3.2. CLion 1. 安装GCC/GDB 1.1. 安装 # 更新软件源 sudo apt update # 通过以下命令安装编译器和调试器 sudo apt install build-essential gdb Ubuntu 默认情况下没有提供C/C…...

吴恩达老师机器学习-ex4

梯度检测没有实现。有借鉴网上的部分 导入相关库,读取数据 因为这次的数据是mat文件,需要使用scipy库中的loadmat进行读取数据。 通过对数据类型的分析,发现是字典类型,查看该字典的键,可以发现又X,y等关…...

C语言-函数例题

函数经典例题 1、编写一个函数实现该功能&#xff1a;从键盘输入一个字串符&#xff0c; 再输入两个正整数 m 和 n, 输出字符串中从 m 开始&#xff0c; 连续 n 个字符。例如&#xff0c; 输入 abcdefg,2,3,输出 bcd. #include <stdio.h> /*作者: zcy日期:功能描述:编写…...

鸿蒙应用框架开发【多HAP】程序框架

多HAP 介绍 本示例展示多HAP开发&#xff0c;简单介绍了多HAP的使用场景&#xff0c;应用包含了一个entry HAP和两个feature HAP&#xff0c;两个feature HAP分别提供了音频和视频播放组件&#xff0c;entry中使用了音频和视频播放组件。 三个模块需要安装三个hap包&#xff…...

PG如何实现跨大版本升级

数据库进行升级&#xff0c;是一个再正常不过的功能&#xff0c;比如功能的需要&#xff0c;遇到BUG&#xff0c;安全漏洞等等&#xff0c;具体升级包含子版本升级&#xff0c;主版本升级。如果用过ORACLE的朋友&#xff0c;一定知道&#xff0c;在ORACLE中&#xff0c;如果要实…...

JDK 8 升级 17 及 springboot 2.x 升级 3.x 指南

JDK 8 升级 17 简介 从 JDK 8 升级到 JDK 17 的过程中&#xff0c;有几个主要的变化&#xff0c;特别是 Java Platform Module System (JPMS) 的引入&#xff0c;以及一些包路径的调整。以下是与 JDK 17 相关的一些重要变化&#xff1a; Java Platform Module System (JPMS) …...

基于java的人居环境整治管理系统(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝20W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…...

深入了解Pip:Python包管理器的详细指南

目录 Pip简介Pip的安装与升级Pip的基本使用 安装包卸载包列出已安装的包查看包的信息 管理依赖 使用requirements.txt冻结当前环境的包 Pip进阶用法 安装特定版本的包使用代理安装包从本地文件安装包 创建和发布Python包 创建一个Python包编写setup.py文件发布到PyPI 常见问题…...

龙口建网站/北京seo关键词优化外包

前两天看了深入web请求过程的知识&#xff0c;比较陌生的就是DNS中几种域名解析的方式的点&#xff0c;这里记录一下。 linux中使用 dig www.taobao.com trace 就可以查看域名解析的过程&#xff0c;以下使用的是NS方式...

官方网站内容可做证据吗/快排seo软件

嗨&#xff0c;你好&#xff0c;我是阿锴。今天分享给大家一个高大上的设计技巧&#xff0c;能让你「傻瓜一键式」把低质量图片变高大上。这个技巧&#xff0c;就是「双色调」。可以把图片处理成下面这个样子&#xff1a;还挺帅对吧&#xff1f;这个技巧的实现原理是什么呢&…...

网站建设专业术语/客户引流推广方案

MySQL5.7高可用MHAAtlas视频课程9 ?0 n% Y9 N1 X- D( p" N0 D" F7 A3 ?: z Q课程目标/ ~# K1 ?9 l2 m. P掌握企业MySQL常用高可用技术并且和Atlas读写分离结合使用0 u; X \6 p. s M D9 o) ~适用人群1 K& Q. Z7 I3 K5 |7 G8 hLinux运维、DBA、MySQL运维( [ …...

网站网站制作服务/周口网站建设公司

前言&#xff08;仅看介绍本身的可以略过&#xff09; 在离职后的一段时间里&#xff0c;个人总结了过去几年工作的心得&#xff0c;结合以往的工作经验。重新思考并重构了前些年做的一些东西&#xff08;主要是测试相关&#xff09;&#xff0c;产生了设计AutoTest这样的一个测…...

怎么删除网站里的死链接/免费建站免费推广的网站

网页开发最最重要最最基本的就是富文本编辑器和文件上传&#xff0c;开始我迷信百度的ueditor和webupload&#xff0c;结果总是别扭&#xff0c;看来不能迷信BAT啊。富文本用了froala&#xff0c;文件上传早点用bootstrap fileinput那多炫啊。 参考网上的文章&#xff0c;走了…...

网站制作中文版/百度关键词搜索次数

原题地址&#xff1a;http://oj.leetcode.com/problems/insertion-sort-list/ 题意&#xff1a;对链表进行插入排序。 解题思路&#xff1a;首先来对插入排序有一个直观的认识&#xff0c;来自维基百科。 代码循环部分图示&#xff1a; 代码&#xff1a; class Solution: # par…...