【刷题日记】青少年CTF-A2 Crypto(全)

Caesar

题目难度:★
题目描述:凯撒大帝在很早的时候发明了这个,你能解密出来吗?flag格式为:qsnctf{xxx}。

下载附件,题目提示告诉我们是凯撒了,一个简单的移位操作。

使用在线解码网站:凯撒密码在线加密解密

def decode_caesar_cipher(cipher):decoded_cipher = ""for char in cipher:if char.isalpha():shift = 5base = ord('a')if char.islower():decoded_cipher += chr((ord(char) - base - shift) % 26 + base)else:decoded_cipher += chr((ord(char) - base - shift) % 26 + base)else:decoded_cipher += charreturn decoded_ciphercipher = "vxshyk{g9g9g099-hg33-4f60-90gk-ikff1f36953j}"
decoded_cipher = decode_caesar_cipher(cipher)
print(decoded_cipher)

flag

qsnctf{b9b9b099-cb33-4a60-90bf-dfaa1a36953e}

一组BASE

题目难度:★
题目描述:请用一组绿宝石和村民兑换一组BASE!flag格式为:qsnctf{xxx}。

下载解压文件,扫一眼,base家族就那几个,base16,base32,base64等等等符合这题的就只有base64。

使用在线脚本:Base64 编码/解码 - 在线工具 (toolhelper.cn)

当然,我们同样可以在kali中解base64.

import base64
s = 'cXNuY3RmezY4NjkwOGJjLTFiZjItNGMxOS04YTAxLWIyYzc3NjAwOTkyOH0='
sw = bytes(s,'utf-8')
st = base64.b64decode(sw)
print(st)

flag

qsnctf{686908bc-1bf2-4c19-8a01-b2c776009928}

Base大家族

题目难度:★
题目描述:BASE有一个大家族,flag格式为:qsnctf{xxx}。

下载附件一看,没有=,不可能是base32和base64了。

Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码。Base16先获取输入字符串每个字节的二进制值(不足8比特在高位补0),然后将其串联进来,再按照4比特一组进行切分,将每组二进制数分别转换成十进制,在下述表格中找到对应的编码串接起来就是Base16编码。可以看到8比特数据按照4比特切分刚好是两组,所以Base16不可能用到填充符号“=”。

Base16 编码表

编码编码
0088
1199
2210A
3311B
4412C
5513D
6614E
7715F

使用在线网站解:Base16编码解码,Base16在线转换工具

在这里插入图片描述

得到一串字符,根据题目提示base大家族,这可能是一个base16 -> base32 ->base64。ok,思路有了,我们继续往下走。

Base32编码是使用32个可打印字符(字母A-Z和数字2-7)对任意字节数据进行编码的方案,编码后的字符串不用区分大小写并排除了容易混淆的字符

RFC 4648 Base32 字母表

符号符号符号符号
0A8I16Q24Y
1B9J17R25Z
2C10K18S262
3D11L19T273
4E12M20U284
5F13N21V295
6G14O22W306
7H15P23X317
填充=

在这里插入图片描述

出现了=号,很明显的base64特征。跟我们想的一样。

Base64编码是使用64个可打印ASCII字符(A-Z、a-z、0-9、+、/)将任意字节序列数据编码成ASCII字符串,另有“=”符号用作后缀用途。

Base64 索引表

数值字符数值字符数值字符数值字符
0A16Q32g48w
1B17R33h49x
2C18S34i50y
3D19T35j51z
4E20U36k520
5F21V37l531
6G22W38m542
7H23X39n553
8I24Y40o564
9J25Z41p575
10K26a42q586
11L27b43r597
12M28c44s608
13N29d45t619
14O30e46u62+
15P31f47v63/

在这里插入图片描述

得到flag。

flag

qsnctf{531e3c0e-aca4-4fe3-a818-e3ee3a887444}

Morse code

题目难度:★
题目描述:摩尔斯电码(Morse code)也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,保持一定时间的长信号“—”,表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。flag格式为:qsnctf{xxx}。

下载附件,题目告诉我们是摩斯密码了,我们只需要把中间一部分解出来就行。

在线网站:在线摩斯密码翻译器

# 摩斯电码解码映射
morse_code_dict = {".-": "A", "-...": "B", "-.-.": "C", "-..": "D", ".": "E", "..-.": "F", "--.": "G","....": "H", "..": "I", ".---": "J", "-.-": "K", ".-..": "L", "--": "M", "-.": "N","---": "O", ".--.": "P", "--.-": "Q", ".-.": "R", "...": "S", "-": "T","..-": "U", "...-": "V", ".--": "W", "-..-": "X", "-.--": "Y", "--..": "Z","-----": "0", ".----": "1", "..---": "2", "...--": "3", "....-": "4",".....": "5", "-....": "6", "--...": "7", "---..": "8", "----.": "9",".-.-.-": ".", "---...": ":", "--..--": ",", "-.-.-.": ";", "..--..": "?","-...-": "=", ".----.": "'", "-..-.": "/", "-.-.--": "!", "-....-": "-","..--.-": "_", ".-..-.": '"', "-.--.": "(", "-.--.-": ")", "...-..-": "$",".-...": "&", ".--.-.": "@", ".-.-.": "+",
}  # 摩斯密码字典# 摩斯电码字符串
morse_code_str = ".----/-----/.-/----./...--/./-----/-.../-....-/....-/...--/...../...--/-....-/....-/---../....-/.-/-....-/----./..-./..---/--.../-....-/-.-./..-./-..../-..../-.-./--.../.-/---../-.../..---/...--/....."# 将摩斯电码字符串分割为字符对
morse_code_chars = morse_code_str.split("/")# 解码摩斯电码
decoded_str = ''.join(morse_code_dict[char] for char in morse_code_chars)print(decoded_str)

flag

qsnctf{10A93E0B-4353-484A-9F27-CF66C7A8B235}

Bear

题目难度:★
题目描述:今天高高兴兴出门去,遇上一只熊。嗷呜呜!!出题人危险了。

下载附件,看到熊说话了?嗯?

不太懂,上网搜一下

简单的说,熊曰明显有别于传统火星文和佛曰的地方

具有智能的文本压缩处理能力(使用了哈夫曼算法)
针对部分汉字自动转换的场景进行了优化(繁体和简体变化不影响解密)
界面更为友好易用(支持移动端)

在线解码:与熊论道/熊曰加密

在这里插入图片描述

大家可以去搜索一下相关知识,说不定可以找到什么相关姿势(划掉),呸,知识!

flag

qsnctf{80038e81-5f67-4085-a70e-77a3fd74cf96}

百家姓

题目难度:★
题目描述:你知道百家姓是什么吗?flag格式为:qsnctf{xxx}。

下载附件,看一眼,ok不会解。上网搜在线解码器。

在线工具:百家姓加密解密在线工具

在这里插入图片描述

复制解出来的文本,去掉前面的ci力磁链。查看解出来的文本,十六进制(确信)!使用在线工具解

在线工具:[十六进制转文本-在线免费十六进制转文本工具-即时工具

全部复制进去解,诶居然解出来了。复制解出来的文本,看到flag

在这里插入图片描述

flag

qsnctf{e20491a9-97ad-404a-9f29-0810bd5c491e}

ASCII和凯撒的约定

题目难度:★★
题目描述:ASCII码和凯撒大帝有一个约定,你能得到FLAG吗?flag格式为:qsnctf{xxx}。MD5只取花括号中的UUID!

ok先别急着启动!先看一下题目,ASCII和凯撒。应该是ASCII转文本了,还有MD5值?先启动再说。

拿到一串字符,进行解码。(每个人拿到的不一样!)

在这里插入图片描述

这解一下就很清晰了啊,ASCII转文本,文本再进行凯撒解码,但是flag后三位被隐藏了,应该需要我们爆破出来。

凯撒解密

def decode_caesar_cipher(cipher):decoded_cipher = ""for char in cipher:if char.isalpha():shift = 1base = ord('a')if char.islower():decoded_cipher += chr((ord(char) - base - shift) % 26 + base)else:decoded_cipher += chr((ord(char) - base - shift) % 26 + base)else:decoded_cipher += charreturn decoded_ciphercipher = "MSHN: xzujam{93j57850-i783-4726-il3h-07m8l68kk***} TK5:0k40691186mk5l49m5li024045l3jjk8"
decoded_cipher = decode_caesar_cipher(cipher)
print(decoded_cipher)

拿到转换后的值

flag: wytizl{93i57850-h783-4726-hk3g-07l8k68jj***} md5:0j40691186lj5k49l5kh024045k3iij8

再对flag的后三位进行爆破。

# coding: utf-8import string
import hashlibdic1 = string.digits + string.ascii_lowercase + string.ascii_uppercase
for i1 in dic1:for i2 in dic1:for i3 in dic1:t = '93c57850-b783-4726-be3a-07f8e68dd' + i1 + i2 + i3md5 = hashlib.md5(t.encode('utf-8')).hexdigest()# print tif md5[:32] == '0d40691186fd5e49f5eb024045e3ccd8':print(t)

得到最后三位cc3

flag

qsnctf{93c57850-b783-4726-be3a-07f8e68ddcc3}

ojbk的,这里也是成功的将A2-crypto成功解决了(所以这个A1,A2是啥意思)!👍👍👍

休息一下,继续我们的刷题!

作为CTF的新手,我非常渴望在这里向各位师傅请教,并期待得到您的宝贵指导。如果我有任何错误或需要改进的地方,请不吝赐教,我会虚心接受并努力改正。

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

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

相关文章

生物信息学中的可重复性研究

科学就其本质而言,是累积渐进的。无论你是使用基于网络的还是基于命令行的工具,在进行研究时都应保证该研究可被其他研究人员重复。这有利于你的工作的累积与进展。在生物信息学领域,这意味着如下内容。 工作流应该有据可查。这可能包括在电脑…

Opencv实验合集——实验九:姿势估计

在上一章节(相机校准),你已经找到了相机矩阵,畸变系数等等参数。给出一个图案图像,我们便可以利用上面的信息用于计算其姿势,或者物体在空间中位于何处,比如如何旋转,如何移动等等问题。对于一个平面物体&a…

Android BUG 之 Error: Activity class {} does not exist

项目场景: 更换包名,运行报错 问题描述 原因分析: 在替换包名的时候要确认,配置文件跟build中的保持一致,在更换后还要将旧包的缓存数据清理掉 解决方案: 1 替换后删除 app 下的build 文件夹 2 Rebuild Pr…

k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain

node亲和性和pod亲和性和反亲和性 污点 cordon drain 集群调度: schedule的调度算法 预算策略 过滤出合适的节点 优先策略 选择部署的节点 nodeName:硬匹配,不走调度策略,node01 nodeSelector:根据节点的标签选择,会走调度的算法 只…

20、Kubernetes核心技术 - 基于Prometheus和Grafana搭建集群监控平台

目录 一、概述 二、监控平台架构图​编辑 三、部署 Prometheus 3.1、Prometheus简介 3.2、部署守护进程node-exporter 3.3、部署rbac 3.4、ConfigMap 3.5、Deployment 3.6、Service 3.7、验证Prometheus 四、部署Grafana 4.1、Deployment 4.2、Service 4.3、Ing…

Python办公自动化 – 操作NoSQL数据库和自动化图像识别

Python办公自动化 – 操作NoSQL数据库和自动化图像识别 以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动…

雍禾植发袁宣心中有“术”,雍禾医疗帮用户重启人生

从公立医院烧伤外科来到雍禾,可以说是袁宣职业生涯里最重要的一个决定。据了解,袁宣医生所在的雍禾植发,是国内最大的毛发医疗机构。截至2022年12月31日,雍禾医疗已组建1341人的专业医疗团队,其中毛发医生294人&#x…

Android 13 移除下拉栏中的设置入口

介绍 因为当前项目的设置已被加密,客户不希望通过下拉窗口的设置图标进入设置,决定去掉该图标。 效果展示 分析 这里首先想到在SystemUI寻找这个图标的资源文件,找到资源文件后寻找对应控件调用的地方,根据id寻找控件代码即可。…

FPGA UDP协议栈:基于88E1111,支持RGMII、GMII、SGMII三种模式,提供3套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的以太网方案本协议栈的 1G-UDP版本本协议栈的 10G-UDP版本本协议栈的 25G-UDP版本1G 千兆网 TCP-->服务器 方案1G 千兆网 TCP-->客户端 方案10G 万兆网 TCP-->服务器客户端 方案 3、该UDP协议栈性能4、详细设计方案设…

什么是HTTP协议以及对HTTP协议的见解

目录 HTTP协议 (1)什么是http协议 (2)http协议的特点: (3)http协议请求头 (4)http协议响应头 HTTP协议 (1)什么是http协议 http&#xff0…

通信用磷酸铁锂电池做YD/T2344.1招标报告

通信用磷酸铁锂电池做YD/T2344.1标准报告 YD/T 2344.1标准范国: YD/T 2344.1规定了通信用磷酸铁鲤电池组的定义、要求、试验方法、检验规则及标志、包装、运输和贮存本部分适用于电池模块与电池管理系统集成为一体的通信用磷酸铁电池组。 YD/T 2344.1测试要求&…

mysql定时备份shell脚本和还原

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言数据库备份分类mysqldump命令备份计划1.每日备份,保留30天备份文件2.每月1号备份,保留12个月备份文件 定时调度还原总结 前言 数据库备…