CTF数据安全大赛crypto题目解题过程

CTF-Crypto加密题目内容

下面是一个Base64加密的密文

bXNobnszODdoajM3MzM1NzExMzQxMmo4MGg0bDVoMDYzNDQzNH0=

原文链接: 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术

我们用Python写一个解密脚本:

import base64
import time
#base64加密破解encoded_str = input("请输入Bese64加密后的密文:")
print("---正在执行密文破解---")
time.sleep(1)
print("*"*1)
time.sleep(1)
print("*"*2)
time.sleep(1)
print("*"*3)
time.sleep(1)
print("*"*4)
time.sleep(1)
print("*"*5)
decoded_bytes = base64.b64decode(encoded_str).decode('utf-8')
#decode_str = decoded_bytes.decode('utf-8')
time.sleep(1)
print("---密文破解完毕---")
time.sleep(2)
print(decoded_bytes)

 原文链接: 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术 

然后我们运行脚本,执行Base64解密
 

屏幕截图 2024-05-09 223541.png

 原文链接: 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术 
然后成功获取解密后的原文
提交答案,发现答案错误。
那就是不只有Base64加密,还有另外一种加密。
思想片刻,终于找到是凯撒加密方式了
下面我们用Python编写一个凯撒解密脚本:

def caesar_decrypt(ciphertext, shift):"""解密凯撒密码:param ciphertext: 加密后的文本:param shift: 偏移量(解密时应该为负数):return: 解密后的文本"""result = ""# 遍历加密文本中的每个字符for char in ciphertext:# 如果字符是字母,则进行解密if char.isalpha():# 区分大小写if char.isupper():# 将大写字母转换为ASCII码进行计算unciphered_char = chr((ord(char) - ord('A') - shift) % 26 + ord('A'))else:# 将小写字母转换为ASCII码进行计算unciphered_char = chr((ord(char) - ord('a') - shift) % 26 + ord('a'))result += unciphered_charelse:# 如果字符不是字母,则直接添加到结果中result += charreturn result# 示例用法
ciphertext = input("请输入凯撒密文:")  # 假设这是通过凯撒密码加密后的"HELLO"
shift = int(input("请输入偏移量:"))  # 假设偏移量是-3(即向左移动3位)
plaintext = caesar_decrypt(ciphertext, shift)
print(plaintext)

接着我们运行脚本,试着把凯撒密文解密
 原文链接: 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术 

屏幕截图 2024-05-09 224011.png


也是成功解密,提交答案成功!

 原文链接: 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术 

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

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

相关文章

韩顺平0基础学Java——第7天

p110-p154 控制结构(第四章) 多分支 if-elseif-else import java.util.Scanner; public class day7{public static void main(String[] args) {Scanner myscanner new Scanner(System.in);System.out.println("input your score?");int s…

什么是Jetpack

Jetpack Jetpack 是一套组件库、工具,可帮助开发人员遵循最佳做法,减少样板代码并编写可在 Android 版本和设备上一致工作的代码,以便开发人员可以专注于他们关心的代码 组成 主要包含四部分:架构(Architecture&…

Linux:进程通信(三)信号的捕捉

目录 一、信号捕捉函数 1、signal函数 2、sigaction函数 二、用户态与内核态 1、用户态 2、内核态 用户态与内核态转换 三、volatile关键字 四、SIGCHLD信号 一、信号捕捉函数 1、signal函数 signal函数是C语言标准库中的一个函数,用于处理Unix/Linux系…

Ps 滤镜:其它

Ps菜单:滤镜/其它 Filter/others “其它”子菜单中的滤镜允许创建自己的滤镜、使用滤镜修改蒙版、在图像中使选区发生位移和快速调整颜色。 HSB/HSL HSB/HSL 主要用于实现 RGB、HSB 及 HSL 三种模型的相互转换。 比如,当执行本滤镜从 RGB 转换为 HSB 之后…

YOLOv8网络结构介绍

将按照YOLOv8目标检测任务、实例分割任务、关键点检测任务以及旋转目标检测任务的顺序来介绍,主要内容也是在目标检测任务中介绍,其他任务也只是Head层不相同。 1.YOLOv8_det网络结构 首先,YOLOv8网络分成了三部分,分别是主干网络…

接口信息解析

在进行浏览器网站的接口测试时,需要解析以下关键信息以确保接口的正确性和性能: 1. 接口地址(URL): 接口的地址是测试的基础,包括接口的协议(如 HTTP 或 HTTPS)、主机名、端口&…

自动控制原理学习--平衡小车的控制算法(三)

上一节PID的simulin仿真,这一节用LQR 一、模型 二、LQR LQR属于现代控制理论的一个很重要的点,这里推荐B站的【Advanced控制理论】课程(up主DR_CAN),讲得很好,这里引用了他视频里讲LQR的ppt。 LQR属于lo…

(三)小程序样式和组件

视频链接:尚硅谷2024最新版微信小程序 文章目录 小程序的样式和组件介绍样式-尺寸单位 rpx样式-全局样式和局部样式组件-组件案例演示组件案例-轮播图区域绘制组件案例-轮播图图片添加组件案例-绘制公司信息区域组件案例-商品导航区域组件案例-跳转到商品列表组件案…

python爬取sci论文等一系列网站---通用教程超详细教程

环境准备 确保安装了Python以及requests和BeautifulSoup库。 pip install requests beautifulsoup4确定爬取目标 选择一个含有SCI论文的网站,了解该网站的内容布局和数据结构。 (1)在浏览器中访问目标网站,右键点击页面并选择…

案例研究|硬之城借助DataEase以数据驱动供应链精细化管理

深圳硬之城信息技术有限公司(以下简称为“硬之城”)成立于2015年,专注电子元件供应链领域,定位于电子产业供应链与智造平台。硬之城通过名为“Allchips”的集成式服务平台,为客户提供一站式的电子元件采购和供应链管理…

VTK 建模方法:建模基础

VTK 建模方法:建模基础 VTK 建模方法:建模基础VTK 中模型的表达实例1:自定义 vtkPolyData实例2:vtkTubeFilter实例3:vtkImplicitModeller实例4:vtkRegularPolygonSource实例5:vtkWarpTo VTK 建模…

如何在mac电脑安装 Android SDK

1、在 Mac 电脑上安装 Android SDK 的步骤如下: 前往 Android 开发者网站下载 Android SDK 打开 Android 开发者网站 (https://developer.android.com/studio) 打开下载好的 Android SDK 安装包 2、解压 Android SDK 安装包 打开下载好的 Android SDK 安装包 将 android-…

深度主动学习(Deep Active Learning)——基于pytorch和ALipy工具包实现双向GRU模型

前言 在ALipy的官网说ALipy只支持sklearn和tensorflow模型,模型对象应符合 scikit-learn api。 但是alipy提供了ToolBox的工具箱,里面包装了多种查询策略,计算指标等工具,几乎具有Alipy的全部功能,虽然不能使用ALipy提…

Pycharm2024版,更换安装源

1、选择Python Packages 2、点击图中的小齿轮 3、点击 号 4、添加源地址 常用源如下: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn…

HTML5 Canvas发光Loading动画特效源码

源码介绍 之前我们分享过很多基于CSS3的Loading动画效果,相信大家都很喜欢。今天我们要来分享一款基于HTML5 Canvas的发光Loading加载动画特效。Loading旋转图标是在canvas画布上绘制的,整个loading动画是发光3D的视觉效果,HTML5非常强大。 …

索引失效情况

📝个人主页:五敷有你 🔥系列专栏:面经 ⛺️稳中求进,晒太阳 一、索引列上运算操作。 不要在索引列上进行运算操作,否则索引会失效。 在tb_user的phone列加上索引,然后进行条件查询&am…

nginx自动部署-跨操作系统

项目里面有一个需求,就是需要用让nginx进程提供给系统管理一个start,stop和getPid方法,这样系统管理可以自动拉起来nginx,达到自动部署的目的。离线部署同样适用 这样一来,我就需要提供windows版本linux不同版本的nginx源码包&am…

解决Vue devtools插件数据变化不会自动刷新

我们使用devtools插件在监测vuex中表单或自定义组件的数据,发现页面数据发生变化后,但是devtools中还是老数据,必须手动点击devtools刷新才能拿到最新的数据。很烦! 解决方案: 打开chrome的设置,向下翻&…

JavaEE企业级开发中常用的Stream流

介绍 在Java编程中,Stream流是Java 8引入的一个重要概念,它提供了一种新的处理集合的方式,可以更加简洁、高效地进行数据操作。Stream流支持各种常见的操作,比如过滤、映射、排序、聚合等,同时也支持并行处理&#xf…

自学错误合集--MessageSource国际化接口

java后端自学错误总结 一.MessageSource国际化接口总结 一.MessageSource国际化接口 今天第一次使用MessageSource接口,比较意外遇到了一些坑 messageSource是spring中的转换消息接口,提供了国际化信息的能力。MessageSource用于解析 消息,并支持消息的…