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

渗透测试-前端加密分析之RSA加密登录(密钥来源服务器)

本文是高级前端加解密与验签实战的第6篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA加密来爆破登录。

分析

这里的代码跟上文的类似,但是加密的公钥是通过请求服务端获取的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

http://127.0.0.1:8787/crypto/js/rsa/generator

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由于密钥是服务端生产的,服务端有公私钥信息,所以自然不需要传递公私钥了。

请求格式如下,只有被加密的内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

序列+热加载

序列

打开Yakit的Web Fuzzer,点击左侧的序列

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择从服务端获取密钥的那个数据包

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用数据提取器提取公钥

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提取结果正常:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

再添加序列:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

先把请求体置空,编写热加载代码

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

热加载

本来之前写的是请求体格式跟上文一样,然后在热加载里请求来获取密钥,缺点也显而易见,每次登录请求都会多出了一个请求公钥的数据包,所以最后选择用Yakit的序列配合热加载标签传参来加密。

由于Yakit热加载标签只能传一个参数,这里感谢Yakit群群友Gun的帮助,给了我一个手动分割参数的函数。

把序列第一个请求提取到的publicKey变量和需要加密的数据传过去,由splitParams分割,然后传参给encrypt进行RSA加密。

序列格式:

{{yak(splitParams|{{p(publicKey)}}|{"username":"admin","password":"admin123","age":"20"})}}

热加载代码:

encrypt = (pemPublic, data) => {data = codec.RSAEncryptWithOAEP(pemPublic /*type: []byte*/, data)~data = codec.EncodeBase64(data)body = f`{"data":"${data}"}`return body
}//分割传过来的参数,每个参数中间以|分隔
splitParams = (params) => {pairs := params.SplitN("|", 2)return encrypt(pairs[0], pairs[1])
}

执行序列,爆破成功,使用序列的好处就是只获取一次公钥即可。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

之前的代码:

弃用代码,就不做解释了。

getPubkey = func(host) {//通过请求动态获取公钥rsp, req = poc.HTTP(f`GET /crypto/js/rsa/generator HTTP/1.1
Host: ${host}`)~body = poc.GetHTTPPacketBody(rsp) // 响应体params = json.loads(body)publicKey = str.ReplaceAll(params.publicKey, r"\n", "\n")println(publicKey)return publicKey
}encryptData = (packet) => {body = poc.GetHTTPPacketBody(packet)host = poc.GetHTTPPacketHeader(packet, "Host")pemBytes = getPubkey(host) // 获取公钥println(pemBytes)data = codec.RSAEncryptWithOAEP(pemBytes /*type: []byte*/, body)~data = codec.EncodeBase64(data)body = f`{"data":"${data}"}`return string(poc.ReplaceBody(packet, body, false))
}//发送到服务端修改数据包
// beforeRequest = func(req){
//     return encryptData(req)
// }//调试用
packet = <<<TEXT
POST /crypto/js/rsa/fromserver HTTP/1.1
Host: 127.0.0.1:8787
Content-Type: application/json
Content-Length: 179{"username":"admin","password":"123456","age":"20"}
TEXT
result = (encryptData(packet))
print(result)

相关文章:

渗透测试-前端加密分析之RSA加密登录(密钥来源服务器)

本文是高级前端加解密与验签实战的第6篇文章&#xff0c;本系列文章实验靶场为Yakit里自带的Vulinbox靶场&#xff0c;本文讲述的是绕过RSA加密来爆破登录。 分析 这里的代码跟上文的类似&#xff0c;但是加密的公钥是通过请求服务端获取的 http://127.0.0.1:8787/crypto/js/…...

踩准智能汽车+机器人两大风口,速腾聚创AI+机器人应用双线爆发

日前&#xff0c;RoboSense速腾聚创交出了一份亮眼的Q3财报。受到多重利好消息影响&#xff0c;其股价也应势连续大涨。截止12月9日发稿前&#xff0c;速腾聚创股价近一个月内累计涨幅已超88%。 财务数据方面&#xff0c;速腾聚创在今年前三季度实现总收入约11.3亿元&#xff0…...

YOLOv8全解析:高效、精准的目标检测新时代——创新架构与性能提升

目录 前言 一、模型介绍 二、网络结构 Backbone改进 特征增强网络(neck) 检测头(head) 其它部分 三、Loss计算 四、性能表现 五、YOLOv8使用详解 添加模型 其它部分 创建数据集 数据标注 模型训练 模型预测 六、YOLOv8总结 前言 YOLO&#xff08;You Only Lo…...

【Python】使用Selenium 操作浏览器 自动化测试 记录

【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等-CSDN博客文章浏览阅读389次。【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691?spm1001.2014.3001.5501【学习记录】浏览器指纹相关学习记录&am…...

GDPU软件工程习题(挖空版)

答案&#xff1a; GDPU软件工程24期末复习-CSDN博客 1.8 练习题 一、填空题 软件工程是一门综合性的交叉学科&#xff0c;它涉及计算机学科、( )学科、( )学科和( )学科。软件工程研究的主要内容是 ( )、( )、( ) 三个方…...

【活动邀请·深圳】深圳COC社区 深圳 AWS UG 2024 re:Invent re:Cap

re:Invent 是全球云计算领域的顶级盛会&#xff0c;每年都会吸引来自世界各地的技术领袖、创新者和实践者汇聚一堂&#xff0c;分享最新的技术成果和创新实践&#xff0c;深圳 UG 作为亚马逊云科技技术社区的重要组成部分&#xff0c;将借助 re:Invent 的东风&#xff0c;举办此…...

Hutool工具包的常用工具类的使用介绍

前言 Hutool 是一个轻量级的 Java 工具类库&#xff0c;提供了非常丰富的工具方法&#xff0c;可以大大减少开发时的重复性工作。它的目标是让 Java 开发更简单、更高效。Hutool 提供了多种常用功能&#xff0c;以下是一些常用工具类的使用介绍&#xff1a; 1. StrUtil - 字符…...

C++简明教程(文章要求学过一点C语言)(2)

一、什么是代码文件&#xff08;头文件和源文件&#xff09; 想象你在写一篇很长的故事&#xff08;这就好比是一个 C 程序&#xff09;&#xff0c;你可能会把故事分成不同的章节&#xff08;类似于 C 中的文件&#xff09;。 头文件&#xff08;.h&#xff09;&#xff1a;它…...

防火墙技术与网络安全

网络已经成为了人类所构建的最丰富多彩的虚拟世界&#xff0c;网络的迅速发展&#xff0c;给我们的工作和学习生活带来了巨大的改变。我们通过网络获得信息&#xff0c;共享资源。如今&#xff0c;Internet遍布世界任何一个角落&#xff0c;并且欢迎任何一个人加入其中&#xf…...

html 中 表格和表单的关系与区别

在 HTML 中&#xff0c;表格 (<table>) 和表单 (<form>) 是两种常用于展示数据和收集用户输入的元素。它们具有不同的功能和结构。以下是关于这两者的详细介绍&#xff1a; 1. HTML 表格&#xff08;<table>&#xff09; 表格用于展示结构化的数据&#xf…...

基于Java的购物网站毕业论文

标题:基于 Java 的购物网站 内容:1.研究背景 1.1.国内研究进展 近年来&#xff0c;随着我国电子商务市场的不断发展&#xff0c;越来越多的企业开始涉足电子商务领域。其中&#xff0c;基于 Java 的购物网站成为了众多企业的首选。Java 语言具有跨平台、安全性高、稳定性好等优…...

Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透

文章目录 1、 缓存预热2、 缓存雪崩3、 缓存击穿4、 缓存穿透总结 1、 缓存预热 什么是预热&#xff1a; mysql加入新增100条记录&#xff0c;一般默认以mysql为准作为底单数据&#xff0c;如何同步给redis&#xff08;布隆过滤器&#xff09;这100条新数据。 为什么需要预热…...

wxWidgets使用wxStyledTextCtrl(Scintilla编辑器)的正确姿势

开发CuteMySQL/CuteSqlite开源客户端的时候&#xff0c;需要使用Scintilla编辑器&#xff0c;来高亮显示SQL语句&#xff0c;作为C/C领域最成熟稳定又小巧的开源编辑器&#xff0c;Scintilla提供了强大的功能&#xff0c;wxWidgets对Scintilla进行包装后的是控件类&#xff1a;…...

【ETCD】【实操篇(二)】如何从源码编译并在window上搭建etcd集群?

要在 Windows 上编译 etcd 及 etcdctl 工具&#xff0c;并使用 bat 脚本启动 etcd 集群&#xff0c;首先需要准备好开发环境并确保依赖项正确安装。下面是从 etcd 3.5 源码开始编译和启动 etcd 集群的详细步骤&#xff1a; 目录 1. 安装 Go 环境2. 获取 etcd 源码3. 编译 etcd…...

服务器数据恢复—V7000存储中多块磁盘出现故障导致业务中断的数据恢复案例

服务器存储数据恢复环境&#xff1a; 一台V7000存储上共12块SAS机械硬盘&#xff08;其中1块是热备盘&#xff09;&#xff0c;组建了2组Mdisk&#xff0c;创建了一个pool。挂载在小型机上作为逻辑盘使用&#xff0c;小型机上安装的AIXSybase。 服务器存储故障&#xff1a; V7…...

冯诺依曼架构与哈佛架构的对比与应用

冯诺依曼架构&#xff08;Von Neumann Architecture&#xff09;&#xff0c;也称为 冯诺依曼模型&#xff0c;是由著名数学家和计算机科学家约翰冯诺依曼&#xff08;John von Neumann&#xff09;在1945年提出的。冯诺依曼架构为现代计算机奠定了基础&#xff0c;几乎所有现代…...

Hive其四,Hive的数据导出,案例展示,表类型介绍

目录 一、Hive的数据导出 1&#xff09;导出数据到本地目录 2&#xff09;导出到hdfs的目录下 3&#xff09;直接将结果导出到本地文件中 二、一个案例 三、表类型 1、表类型介绍 2、内部表和外部表转换 3、两种表的区别 4、练习 一、Hive的数据导出 数据导出的分类&…...

CMake function使用

在 CMake 中&#xff0c;function 用于定义一个可复用的代码块&#xff0c;可以在 CMake 脚本中多次调用。它类似于其他编程语言中的函数。函数内的变量默认是局部的&#xff0c;不会影响外部的变量&#xff0c;除非显式地使用 PARENT_SCOPE 来修改父级作用域中的变量。 基本语…...

【AI学习】Huggingface复刻Test-time Compute Scaling技术

OpenAI ChatGPT o1 背后的关键技术Test-time Compute Scaling&#xff0c;Huggingface实现并开源了&#xff01; Hugging Face 团队发布了一篇关于“开源模型中的推理阶段计算扩展”&#xff08;Test-time Compute Scaling&#xff09; 的研究文章。Hugging Face 团队通过复现…...

前端导出PDF的组件及方法

前端导出PDF的组件及方法 在Web应用程序中&#xff0c;导出PDF文件是一项常见的需求。无论是为了打印、分享还是存档&#xff0c;能够将网页内容转换为PDF格式都非常有用。幸运的是&#xff0c;前端开发者有多种方法和组件可以实现这一功能。在本文中&#xff0c;我们将详细介…...

终于有人说清楚经营分析会怎么开了!一篇看懂经营分析会全流程

各位老板有没有想过&#xff0c;为什么你的经营分析会越开越多&#xff1f;有的企业月月开、周周开&#xff0c;甚至恨不得天天开。会一多&#xff0c;人就麻木了&#xff0c;翻来覆去讲同样的数据、追同样的问题&#xff0c;真正该花时间去解决的业务卡点&#xff0c;反而没人…...

在Taotoken模型广场根据任务需求与预算快速选型实践

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Taotoken模型广场根据任务需求与预算快速选型实践 面对众多大模型&#xff0c;如何为自己的项目选择一个既满足需求又符合预算的…...

Context Engineering 实战:别再往 context 里塞东西了

Context Engineering 实战&#xff1a;别再往 context 里塞东西了 为什么 token 塞满反而让 LLM 变蠢&#xff1f;四种核心策略 Python 代码实现 Agent 跑到第 15 步&#xff0c;突然开始做蠢事。 它把已经检查过的文件又检查了一遍&#xff0c;给出了和第 3 步完全矛盾的结论…...

Taotoken 稳定直连全球大模型在高峰期业务中的实际表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken 稳定直连全球大模型在高峰期业务中的实际表现 在需要持续、稳定调用大模型能力的业务场景中&#xff0c;服务的可靠性是核…...

SSHFS-Win:如何让Windows像访问本地硬盘一样操作远程Linux文件

SSHFS-Win&#xff1a;如何让Windows像访问本地硬盘一样操作远程Linux文件 【免费下载链接】sshfs-win SSHFS For Windows 项目地址: https://gitcode.com/gh_mirrors/ss/sshfs-win 对于需要在Windows环境下工作的开发者来说&#xff0c;最头疼的问题之一就是如何高效访…...

免费暗黑2存档编辑器终极指南:3分钟成为游戏存档修改大师

免费暗黑2存档编辑器终极指南&#xff1a;3分钟成为游戏存档修改大师 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2的存档问题烦恼吗&#xff1f;角色属性不够强、装备不理想、任务进度丢失……现在&#xf…...

大模型岗位锐评:小白程序员转型指南 学习资源包免费领!收藏必备

本文深度剖析大模型领域的五大梯队岗位&#xff0c;从底层架构工程师到应用开发工程师&#xff0c;详细介绍了各岗位的日常工作、新手友好度、优势与避雷点。文章强调大模型领域人才缺口巨大&#xff0c;传统程序员具备转型优势&#xff0c;并提供了系统学习路线及实战资源&…...

【蒸汽波风格工业化生产标准】:基于1372张MJ出图数据建模,定义饱和度/噪点/复古失真三维黄金阈值

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;蒸汽波美学的数字解构与范式迁移 蒸汽波&#xff08;Vaporwave&#xff09;并非仅是一种视觉风格或音乐流派&#xff0c;而是一场对晚期资本主义数字界面的戏仿性考古——它通过降速采样、CRT扫描线模拟、80年…...

Vue SSR实战:如何用Express + Webpack-dev-middleware实现开发环境热更新与内存编译?

Vue SSR开发环境优化&#xff1a;Express与Webpack-dev-middleware深度整合指南 1. 为什么需要开发环境热更新&#xff1f; 在传统Vue SSR项目开发中&#xff0c;每次代码修改后都需要手动重启服务并刷新浏览器&#xff0c;这种开发体验对于中型以上项目来说效率极低。想象一…...

Hotkey Detective:3分钟找出Windows热键冲突元凶,重获键盘控制权

Hotkey Detective&#xff1a;3分钟找出Windows热键冲突元凶&#xff0c;重获键盘控制权 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-de…...