【CTF-Events】R3CTF/YUANHENGCTF 2024 两道密码题记录一下

R3CTF2024 WP

文章目录

  • R3CTF2024 WP
    • Crypto
      • R0System
        • 考点:代码审计 ECDH
      • R1System
        • 考点:代码审计 ECDH

Crypto

R0System

考点:代码审计 ECDH

打开代码后有两个小系统,看一下功能

image-20240611160303897

然后再看一下登录之后有哪些功能

image-20240611160827260

其实到这里就可以发现一个非常明显的漏洞点了, 重置密码,但是对用户名没有任何限制,这就导致任何用户,可以重置任何用户的密码

image-20240611162002831

这是泄露的内容,看到Alice和Bob,两个人在传输信息,并且涉及到公钥的交换,其实大体可以确定使用了非对称加密,进行密钥交换,既然是Alice发给Bob的消息,Alice用Bob的公钥进行加密,Bob想要解密必然需要使用自己的私钥进行解密,所以我们的目标是获得Bob的私钥

image-20240611162653898

这里是进行交换密钥的地方,逻辑比较简单

ecdhs是ECDH类的一个对象,调用A用户的该方法,与B的公钥进行交换,就可以得到AB之间的共享密钥

这样发给B之后,B只需要用自己的该方法,传入A的公钥进行交换,就能得到AB之间的共享密钥进行解密

共享密钥生成流程图大概如下:

image-20240611163557634

那么获取B的私钥是我们当前需要完成的,途径也很明确,登录上B的账号 直接让系统返回

步骤:

注册一个普通用户01

登录01

修改Bob的密码

退出01

登录Bob

获取私钥

拿到B的私钥后,我们需要恢复共享密钥是什么,这个在本地直接调用给出的代码就好,不过要仔细观察系统的传值形式

注册普通用户

image-20240611165053157

重置Bob的密码

image-20240611165140437

登录Bob拿私钥

image-20240611165221649

拿泄露数据

image-20240611165241935

因为可以看到flag的加密方式就是用共享密钥做了一个AES的简单加密

下面本地恢复共享密钥

image-20240611165437402

首先可以发现exchange_key传参的内容是一个二元组,但是我们获得的泄露的公钥信息只是一个长字符串,所以需要转换成二元组,同时题目已经给出我们转换的方法了

exp:

from hashlib import md5
from utils import *  #注意一定要在同文件夹下导包直接用给出的代码


B_private_key = 0xef7c7923ef85988c24c6f66c6799ccb285691ca9cbc0c4dfd259d84e6b4a2f90   #这是十六进制格式的
A_pub = 'e7e620bb5a43a7ac3a78f908f6e1f702fe4d9176adfe3e1efa22df1d636aa7ab08a32839893d6ed323aa01eefb2fc7393250299252ba96339f43cb40c658f28c'  #这个因为需要转化成二元组 所以是字符串


print(b2p(bytes.fromhex(A_pub)))
print(p2b(b2p(bytes.fromhex(A_pub))).hex())

#字符串转化为二元组
A_pub_ = b2p(bytes.fromhex(A_pub))

# pub_key =(85971966356924244980831307020457178590563197663408196712967537635077016642444, 79000431020590387084280106635416454953038752073893771961864570482154499521525)
class ECDH:
    def __init__(self):
        self.curve = Curve()
        self.private_key = B_private_key  #这是十六进制格式的
        self.public_key  = self.curve.mul(self.private_key, self.curve.G)  #根据私钥会自动生成公钥

    #进行密钥交换合成
    def exchange_key(self,others_publickey):
        print(self.public_key)
        return md5(str(self.curve.mul(self.private_key,others_publickey)).encode()).digest()
    

f = ECDH() #用户B和A进行交换
print("flag",f.exchange_key(A_pub_).hex())  #注意最后的格式 给出hex 作为AES的key

拿下:

image-20240611204330897

R1System

考点:代码审计 ECDH

首先要说一下 这个题非了,R2是他的修复版

image-20240611204954589

可以发现 开始的时候题目先自己注册了Alice的账号 那Bob呢

image-20240611205027002

这也就是说 如果没有用户登录,Bob是不会注册的

所以我们能不能先直接注册一个Bob的账号

image-20240611205109202

答案是可以的,因为这个限制只限制了Alice的账号不能注册 这也是非的点

这样先别登录 直接注册一个Bob的账号

拿到和R0的信息 相同的解法 就不赘述了


以上就是赛时做出来的题目,其他的期待复现见!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

干货分享!2024年Instagram营销必备插件

Instagram是营销人员常用的社交媒体平台,通过提升品牌知名度来推动业务增长。今天给大家分享一些超实用的Instagram营销插件,无论是下载图片视频,还是预先发布帖子,这些工具都可以是你的得力助手,让你的INS运营效率蹭蹭…

spring常用注解(八)@Async

一、介绍 1、介绍 二、原理 三、集成与使用 1、集成方法 &#xff08;1&#xff09;开启 使用以下注解开启 EnableAsync &#xff08;2&#xff09;使用 在需要异步处理的方法上加上 Async 2、返回值 Async注解的方法返回值只能为void或者Future<T>。 &…

纠删码是什么?有什么作用?

在阿里云对象存储中使用的是用基于纠删码、多副本的数据冗余存储机制&#xff0c;将每个对象的不同冗余存储在同一个区域内多个设施的多个设备上&#xff0c;确保硬件失效时的数据持久性和可用性。这里我们来详细介绍一下什么是纠删码。 纠删码&#xff08;Erasure Coding&…

什么是覆盖索引 ?

走当前索引就足够&#xff0c;而无需回表就能找到所有数据&#xff0c;就叫覆盖索引。 比如 key1 上有索引。&#xff08;它是一个普通的二级索引&#xff09;。 那么select key1 from s1 where key1 a 这种就叫覆盖索引。 表现就是explain时&#xff0c; Extra 那里显示 …

【深度学习】使用 LSTM 网络预测水位数据

使用 LSTM 网络预测水位数据 在本文中&#xff0c;我们将介绍如何使用 LSTM&#xff08;长短期记忆&#xff09;神经网络来预测水位数据。我们将使用 Python 中的一些流行库&#xff0c;如 NumPy、Pandas 和 Keras。首先&#xff0c;我们将加载数据&#xff0c;然后预处理它以…

基于 Transformer 的大语言模型

语言建模作为语言模型&#xff08;LMs&#xff09;的基本功能&#xff0c;涉及对单词序列的建模以及预测后续单词的分布。 近年来&#xff0c;研究人员发现&#xff0c;扩大语言模型的规模不仅增强了它们的语言建模能力&#xff0c;而且还产生了处理传统NLP任务之外更复杂任务…

Pixi.js学习 (五)动画效果与变量逻辑控制

目录 前言 一、动画效果 1.1 帧频 1.2 帧频函数 二、变量逻辑控制 2.1 定义变量的语法 2.2 使用变量控制逻辑 2.3 使用变量控制追加效果 三、实战 例题一&#xff1a;完成天天酷跑 例题一代码&#xff1a; 总结 前言 为了提高作者的代码编辑水品&#xff0c;作者在使用博客的时…

遥感和GIS在滑坡、泥石流风险普查中的技术应用教程

原文链接&#xff1a;感和GIS在滑坡、泥石流风险普查中的技术应用教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247606346&idx5&snb98d2e84b0273507ec23d3d1212b8421&chksmfa8261adcdf5e8bb26dfa824d320d1754e83b5e0ca523545704e59a3cda8aa370387…

强烈推荐!Windows 11 24H2 版本系统下载(新功能多多)

微软向 Windows 11 Version 24H2 用户推送了 KB5036908 更新&#xff0c;标志着 24H2 版本的首次累积更新&#xff0c;更新后用户的系统版本号将升级至 26100.268。在新版本中&#xff0c;最显著的变化包括对文件资源管理器的改进、整合的 Copilot 功能、编辑 PNG 文件元数据的…

AI实时免费在线图片工具4:WordArt艺术字生成;IC-Light打光模型;screenshot to code图像直接生成网页

1、艺术字生成WordArt https://modelscope.cn/studios/WordArt/WordArt/summary?reftop.aibase.com 2、打光模型IC-Light https://huggingface.co/spaces/lllyasviel/IC-Light Screenshot to Code图像直接生成网页 https://huggingface.co/spaces/HuggingFaceM4/screen…

AI大模型智慧政务解决方案

随着AI大模型技术的蓬勃发展和普及应用&#xff0c;我们的政务治理正迎来一场波澜壮阔的革新巨浪。这场革新&#xff0c;不仅是技术层面的飞跃&#xff0c;更是一场深刻改变治理理念的伟大变革。它彻底颠覆了传统政务治理中依赖人力、效率低下、响应迟缓的“人盯人”模式&#…

10_Transformer预热---注意力机制(Attention)

1.1 什么是注意力机制(attention) 注意力机制&#xff08;Attention Mechanism&#xff09;是一种在神经网络中用于增强模型处理特定输入特征的能力的技术。它最早被应用于自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;特别是在机器翻译中&#xff0c;如Google的…

uniapp录音播放功能

ui效果如上。 播放就开始倒计时&#xff0c;并且改变播放icon&#xff0c;另外录音则停止上一次录音。 播放按钮&#xff08;三角形&#xff09;是播放功能&#xff0c;两竖是暂停播放功能。 const innerAudioContext wx.createInnerAudioContext();export default{data(){ret…

16个免费学习Python的网站和教程(2024年最新资源)

16个免费学习Python的网站和教程&#xff08;2024年最新资源&#xff09; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff…

Spring系统学习 -Spring IOC 的XML管理Bean之类类型属性赋值、数组类型属性赋值、集合类属性赋值

类类型属性赋值&#xff1a; 在XML配置中&#xff0c;可以使用 <property> 元素为类类型属性赋值。通过指定属性的名称和值&#xff0c;可以直接将其他Bean的实例引用注入到目标Bean的属性中。这种方式可以建立对象之间的关联关系。例如&#xff0c;可以将一个Address对象…

臻奶惠的行业优势与市场竞争力解析

臻奶惠在智能售货机领域深耕多年&#xff0c;其加盟合作模式在行业中展现出了多方面的优势。以下是对该公司智能售货机加盟优势的深入分析&#xff1a; 技术先进性&#xff1a; 臻奶惠智能售货机以高度自动化的运营模式著称&#xff0c;特别是在自动补货、远程监控和数据分析…

【端午惊喜】2024年6月6日 docker 国内镜像源集体失效

文章目录 概述中科大镜像源阿里镜像源其他镜像源可用的镜像源写在最后 概述 大家都知道使用docker hub官方镜像需要魔法&#xff0c;虽然大部人有魔法&#xff0c;但是网速也是很慢&#xff0c;还有部分同学没有&#xff0c;全靠国内各大厂商的镜像源&#xff0c;可是端午6.6大…

zabbix监控深信服AD案例+自动发现虚拟服务和链路

文章目录 前言监控功能告警功能 环境准备操作步骤深信服AD开启SNMPSNMP V2SNMP V3 Zabbix导入模版Zabbix中添加深信服AD 前言 深信服AD&#xff0c;应用交付网关&#xff0c;是较为常见的应用发布、负载均衡设备&#xff0c;常用于网络出口。 本案例是通过zabbix的snmp监控深…

如何成为AI产品经理,踏入高薪不内卷的职场

前言 在当今科技日新月异的背景下&#xff0c;AI产品经理这一岗位逐渐成为职场中的一颗璀璨新星&#xff0c;吸引着众多求职者的目光。然而&#xff0c;对于这个职位的具体要求和工作内容&#xff0c;许多人仍处在一知半解的状态。虽然普遍认知中&#xff0c;AI产品经理岗位与…

【漏洞复现】Rejetto HTTP文件服务器 未授权RCE漏洞(CVE-2024-23692)

0x01 产品简介 Rejetto HTTP File Server(HFS)是一个基于HTTP协议的文件服务器软件&#xff0c;旨在为用户提供简单、轻量级且易于使用的文件共享解决方案。功能强大、易于使用的文件服务器软件&#xff0c;无论是个人使用还是团队协作&#xff0c;HFS都能满足用户的需求&…