CTF-Show密码学【Base64、栅栏密码、16进制】

news2024/9/22 5:21:27

题目内容

密文:

53316C6B5A6A42684D3256695A44566A4E47526A4D5459774C5556375A6D49324D32566C4D4449354F4749345A6A526B4F48303D
提交格式:KEY{XXXXXXXXXXXXXX}

工具下载:https://www.lanzoui.com/i9fn2aj

萌新_密码13

分析和解决过程

初步分析

我们首先面对一串看起来符合16进制特征的密文,附带了一个工具下载链接。根据描述,我们下载并打开工具,发现其中包含了一个 16进制编辑器 和一个栅 栏密码加解密 工具。

根据这些线索,我们可以确定这是一串16进制密文。为了进行解密,我们需要将其转换为文本形式。通过在线的16进制转文本工具,我们得到了以下结果:

在这里插入图片描述

转换后的文本: S1lkZjBhM2ViZDVjNGRjMTYwLUV7ZmI2M2VlMDI5OGI4ZjRkOH0=

Base64解密

进一步观察转换后的文本,我们发现它具有Base64加密的特征。尝试对其进行Base64解密,我们得到了如下结果:

Base64加密的特征:
1.字符集:Base64编码使用了64个不同的字符,包括大写字母(A-Z)、小写字母(a-z)、数字(0-9)以及两个特殊字符(+ 和 /)。如果数据中包含其他字符,那么很可能没有经过Base64编码。
2.字符数量:Base64编码后的数据通常比原始数据长度略长,增加了约1/3的长度。如果数据的长度增长了,可能是经过Base64编码。
3.尾部填充字符:Base64编码要求原始数据长度是3的倍数,如果不满足,会使用填充字符 "=" 进行补齐。因此,如果数据以一个或两个 “=” 字符结尾,那么可能是经过Base64编码
4.可打印字符:Base64编码后的数据只包含可打印的ASCII字符,不包含控制字符或非ASCII字符。如果数据中包含非ASCII字符,那么可能没有经过Base64编码。

在这里插入图片描述

然而,这仍然不符合我们的提交格式,即KEY{XXXXXXXXXXXXXX}。因此,我们需要继续解密这段文本。

栅栏解密

根据下载的工具中的栅栏密码加解密工具,我们尝试了不同的栏数进行解密。其中,栏数2和栏数19是可选项。我们分别使用这两个栏数进行解密。

使用栏数2进行解密
在这里插入图片描述
我们得到: KEY{dffb06a33eeeb0d259c84bd8cf146d08-}

这个解密结果符合我们的提交格式,因此我们成功解密了密文并获得了正确的flag。

使用栏数19进行解密
在这里插入图片描述

我们得到: Kd07b54c6-{b3e28848Yfaedcd10Ef6e09bfd}

总结与感想

本题通过提供一个密文工具下载链接的方式,引导我们进行密文解密和栅栏密码解密的操作。在解题过程中,我们采取了以下步骤:

1.分析密文特征:通过观察密文的特征,我们确定了它是16进制密文。
2.转换为文本形式:使用在线的16进制转文本工具,将密文转换为文本形式。
3.Base64解密:观察转换后的文本特征,我们猜测它可能是经过Base64加密的,因此进行了解密操作。
4.栅栏密码解密:使用下载的工具中的栅栏密码加解密工具,尝试不同的栏数进行解密。
5.提交flag:根据解密结果,选择符合提交格式的flag进行提交。

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

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

相关文章

【Python 基础篇】Python 面向对象编程:理解与实践

文章目录 一、引言二、类与对象三、封装与访问控制四、继承与多态(第一部分)五、方法重写与多态(第二部分)六、抽象类与接口1、抽象类2、接口 七、类的关联与组合1、关联关系2、组合关系 八、面向对象设计原则1、SOLID原则2、设计…

实验 4:排序与查找

东莞理工的学生可以借鉴,请勿抄袭 1.实验目的 通过实验达到: 理解典型排序的基本思想,掌握典型排序方法的思想和相应实现算法; 理解和掌握用二叉排序树(BST)实现动态查找的基本思想和相应的实现 算法。 理解和掌握哈希(HASH)存…

【备战秋招】每日一题:2023.04.26-实习-第三题-MC方块

在线评测链接:P1231 题目内容 MC最新版本更新了一种特殊的方块,幽匿催发体。这种方块能够吸收生物死亡掉落的经验并感染周围方块,使其变成幽匿块。Steve想要以此为基础尝试搭建一个经验仓库,他来到了创造超平坦模式,在只有草方块…

[进阶]junit单元测试框架详解

单元测试 就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试。 以前是如何进行单元测试的?有什么问题? 只能在main方法编写测试代码,去调用其他方法进行测试。无法实现自动化测试,一个方法测…

python数字猜谜2.0

改进了一下数字猜谜: 开头,可选等级: import random guess -1 c 0 print("数字猜谜游戏!") n input("选择等级 A B C:") if (n "A") or (n "a"):guess random.randint…

模拟电路系列分享-阻容的频率响应

目录 概要 整体架构流程 技术名词解释 技术细节 1.以低通为例 2.高通电路: 总结: 概要 提示:这里可以添加技术概要 接着上一节的内容,这一节我们将介绍阻容的频率响应 整体架构流程 提示:这里可以添加技术整体架构…

模拟电路系列文章-放大电路输出电容

目录 概要 整体架构流程 技术名词解释 技术细节 小结 概要 提示:这里可以添加技术概要 一个运放组成的同相比例器(包含运放内部结构)所示,在它的输出端对地接了一个大电容C,这是一个极其危险的电路,一般会…

Java注解以及BigInteger类、BigDecimal类

说明: ① java.math包的BigInteger可以表示不可变的任意精度的整数。 ② 要求数字精度比较高,用到java.math.BigDecimal类 15是精度 后面大写的字母是要求要四舍五入 注解的理解 ① jdk 5.0 新增的功能 ② Annotation 其实就是代码里的特殊标记, 这些标…

C语言:使用指针打印数组内容

题目: 写一个函数打印arr数组的内容,不使用数组下标,使用指针。 arr是一维数组。 思路一:用 for循环 进行循环打印(未写自定义函数) 总体思路: (一). 定义一维数组arr&a…

基于Hexo和Butterfly创建个人技术博客,(14) 给博客站点添加Aplayer音乐

Hexo官司网查看 这里 本章目标: 掌握aplayer音乐插件的用法给博客站点添加音乐功能 一、概述 个人比较倾向网站以简洁为主,并不赞成把网站做成花里虎哨的,比如添加鼠标特效或各种动态的元素。但个人站点的随意性比较大,虽没必要做…

【C++】内存管理、new和delete操作类型、operator new和operator delete函数、new和delete的实现原理

文章目录 1.C/C内存管理2.C语言的内存管理方式3.C内存管理方式3.1 new和delete操作内置类型3.2 new和delete操作自定义类型 4.operator new与operator delete函数5.new和delete的实现原理5.1内置类型5.2 自定义类型 1.C/C内存管理 在C/C中,内存管理是程序员负责管理…

2023.6.20-【personal training】:键盘输入整数,求其和与平均数。并对每一次键入都实现自主控制。

代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int a 0; int sum 0; double ave 0; double sum2 0; int qua 0; int tri ; printf("请输入一个整数&#xff1a;"); tri scanf_s("%d", &a); while …

华为OD机试真题 JavaScript 实现【最短木板长度】【2022Q4 100分】,附详细解题思路

一、题目描述 小明有 n 块木板&#xff0c;第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。 小明买了一块长度为 m 的木料&#xff0c;这块木料可以切割成任意块&#xff0c;拼接到已有的木板上&#xff0c;用来加长木板。 小明想让最短的木板尽量长。 请问小明加长木板后&#xff0c…

2023.6.15钛动科技java实习第一轮技术面试

第一次面试&#xff0c;又是在考六级期间&#xff0c;也缺乏经验和准备。无笔试&#xff0c;问的简历项目比较多&#xff0c;java基础较多&#xff0c;聊了半个小时。这次的面试应该是挂掉的&#xff0c;面试官建议我多背背八股文和面试题哈 线下面试问题&#xff08;无笔试&a…

Redis持久化机制与Redis事务

一、Redis 持久化机制 Redis 是个基于内存的数据库。那服务一旦宕机&#xff0c;内存中数据必将全部丢失。所以丢失数据的恢复对于 Redis 是十分重要的&#xff0c;我们首先想到是可以从数据库中恢复&#xff0c;但是在由 Redis 宕机时&#xff08;说明相关工作正在运行&#…

Python打包,嵌入式方式打包,而且是官方推荐的打包方式-Python嵌入式打包真的不如pyinstaller吗?

嵌入式打包&#xff1a; 解释&#xff1a; 用嵌入式版本的python解释器进行打包程序&#xff0c;python有嵌入式版本&#xff0c;而且这个嵌入式版本的解释器大小很小&#xff0c;可以很好的省磁盘空间&#xff01;&#xff01;&#xff01; 打包步骤&#xff1a; 1、从pyt…

【案例实战】SpringBoot整合Redis的GEO实现查找附近门店功能

像我们平常美团点外卖的时候&#xff0c;都会看到一个商家距离我们多少米。还有类似QQ附近的人&#xff0c;我们能看到附近的人距离我们有多少米。 那么这些业务是怎么做的呢&#xff1f;是如何实现 基于位置的附近服务系统呢。 在去了解基于位置的附近服务之前&#xff0c;我…

RSA算法

什么是RSA算法&#xff1f; 1976年以前&#xff0c;所有的加密方法都是同一种模式&#xff1a; 甲方选择某一种加密规则&#xff0c;对信息进行加密&#xff1b; 乙方使用同一种规则&#xff0c;对信息进行解密。 由于加密和解密使用同样规则&#xff08;简称"密钥"&…

C语言/C++ 之 打飞机游戏

【项目简介】 1、设计思想&#xff1a;本项目主要是为了实现打飞机游戏&#xff0c;主要包括5个函数模块&#xff0c;和1个主函数框架。分别是chu_shi_hua();、you_cao_zuo&#xff1b;、wu_cao_zuo();、show()&#xff1b;、main();等。项目完成过程中主要运用了C/C中的输入输…

蛋黄肉粽子

蛋黄肉粽子 一、蛋黄肉粽子 作为中国的传统美食之一&#xff0c;蛋黄肉粽子是端午节期间必不可少的特色食品。 我在今年的端午节期间品尝了这种美食&#xff0c;不仅让我感受到了它的美味&#xff0c;也让我领略到了它背后的历史和文化底蕴。 一、蛋黄肉粽子 首先&#xff0c;就…