Bugku Crypto 部分题目简单题解

抄错的字符

题目描述:

老师让小明抄写一段话,结果粗心的小明把部分数字抄成了字母,还因为强迫症把所有字母都换成大写。你能帮小明恢复并解开答案吗:

QWIHBLGZZXJSXZNVBZW

观察疑似base64解码,尝试使用cyberchef解码

CyberChef

乱码,无法解出。根据题目提示得知,部分数字抄成了字母,因此要不断猜测尝试

看了大佬的wp得知

QW1h base64解码为 Ama

BL92 base64解码为 n_v

ZXJ5 base64解码为 ery

X2Nv base64解码为 _co

b2w= base64解码为 ol

得到flag为:

flag{Aman_very_cool}

crypto题脑洞过大,多想多做总是好的

/.-

题目描述:

..-./.-../.-/--./----.--/-../...--/..-./-.-./-.../..-./.----/--.../..-./----./...--/----./----./...../-----/....-/-----.-

为摩斯密码,使用在线工具解码

摩斯密码翻译器/摩尔斯电码表 - 在线工具 (buyaocha.com)

得到flag

FLAG%u7bD3FCBF17F9399504%u7d

将%u7b换为{,将%u7d换为}

FLAG{D3FCBF17F9399504}

提交显示flag有误

使用在线工具在线英文字母大小写转换器工具-英文标题大小写_蛙蛙工具 (iamwawa.cn)将大写转换为小写后

得到flag

flag{d3fcbf17f9399504}

成功提交

聪明的小羊

题目描述:

一只小羊翻过了2个栅栏 fa{fe13f590lg6d46d0d0}

根据提示得知是栅栏密码

使用在线工具CTF在线工具-在线栅栏密码加密|在线栅栏密码解密|栅栏密码算法|Railfence Cipher (hiencode.com)

栅栏数为2

得到flag

或者使用

栅栏加密/解密 - Bugku CTF

进行枚举解密,找出flag

ok

题目描述为:Ook.

下载附件并打开

复制文本文档内容

使用在线工具解密

Ook! Programming Language - Esoteric Code Decoder, Online Translator (dcode.fr)

在框内粘贴内容,点击执行EXEUTE

可见左侧运行得出了flag

之前使用的Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]

无法打开,换一个在线工具就行。

[+-<>]


BrainFuck密码用> < + – . , [ ]八种符号来替换C语言的各种语法和命令

使用在线工具

brainfuck interpreter (sange.fi)

粘贴内容后,点击execute

即可得到flag

或者

CTF在线工具-在线Brainfuck加密|在线Brainfuck解密|Brainfuck|Brainfuck原理|Brainfuck算法 (hiencode.com)

解密得到flag

把猪困在猪圈里

猜测应该为猪圈密码

下载并打开附件后,文本文档内是base64编码

应该是图片,使用在线工具BASE64转图片 - 站长工具 - 极速数据 (jisuapi.com)

将base64编码转化为图片

也可以用CyberChef将base64转为图片

得到猪圈密码后

使用在线工具猪圈密码解密-ME2在线工具解密

解密后得到密文thisispigpassword

使用flag{}包裹后,即为flag

你喜欢下棋吗

下载附件并打开

flag文件夹有密码保护

查看解压密码

根据提示,猜测为棋盘密码

棋盘密码在线加密解密 - 千千秀字 (qqxiuzi.cn)

解密出压缩包的密码

打开文本文档,内容如下

复制内容后,博多电码解码

Baudot Code, Baudot-Murray Code (online tool) | Boxentriq

BAUD0TC0DE即为解码内容

根据提示,密码全为小写

在线英文字母大小写转换器工具-英文标题大小写_蛙蛙工具 (iamwawa.cn)

转换后,使用bugku{}包裹后即为flag

小山丘的秘密

下载解压,打开附件后

一张下棋的图片,一个附件

应该为希尔密码

希尔(Hill Cipher)加密/解密 - Bugku CTF

粘贴bugku{}里面的内容

调节模式为A=1,点击矩阵,按照棋盘数字依次输入

运行后得到解码内容

EN-气泡

打开附件

BubbleBubble加密算法

在线工具

CTF在线工具-在线BubbleBabble编码|Bubble编码|BubbleBabble解码|BubbleBabble编码原理|BubbleBabble编码算法 (hiencode.com)

第一次解码

第二次解码

第三次解码

得到flag

你以为是md5吗

下载打开附件后

为一串编码bci177a7a9c7udf69c248647b4dfc6fd84o

md5密文中只有a-f和0-9,把没用的删除

得到bc177a7a9c7df69c248647b4dfc6fd84

使用在线工具md5在线解密破解,md5解密加密 (cmd5.com)进行解码

使用flag{}包裹后进行提交

Math&English

下载.rar附件,并解压,得到一个附件

将各题计算出来

得到21 33 1 22 3 44 54 5 1 35 54 3 35 41 52 13

对照网上找到的密码表

逐字对照写出

或者编写脚本运行

#字母表
table_dict={'A':1,'B':11,'C':12,'D':13,'E':2,'F':21,'G':22,'H':23,'I':3,'J':31,'K':32,'L':33,'M':34,'N':35,'O':4,'P':41,'Q':42,'R':43,'S':44,'T':45,'U':5,'V':51,'W':52,'X':53,'Y':54,'Z':55}
reverse_table_dict={k:v for v,k in table_dict.items()}#密文列表
c=[21,33,1,22,3,44,54,5,1,35,54,3,35,41,52,13]flag=''
for i in range(len(c)):#解密出明文flag+=reverse_table_dict[c[i]]
print('bugku{'+flag[6:].lower()+'}')

得到flag

easy_hash

下载打开附件

使用记事本打开.py文件

源码可以看出,是把flag的每一个字符都经过了hash

用记事本打开output文件

观察文本内容,每一行都是加密后的字符

使用md5解密|md5在线解密 - 全球唯一8位小写+数字全收录的解密网站 (ttmd5.com)

逐行解码,得到flag


或者使用大佬编写的脚本

import hashlib
import stringmd5_list = {}
for c in string.printable:m = hashlib.md5(c.encode())md5_list[str(m.hexdigest())] = cwith open('output', 'r') as file :for line in file:line = line.split('\n')[0]if line in md5_list:print(md5_list[line], end='')

运行得到fl

MaybeEasyRSA

下载后,用记事本打开.py文件

运行大佬的脚本后,能够得到flag

import gmpy2
from sympy import nextprime
from Crypto.Util.number import *
n=1058756604181685917958185571746711428601045466594619627088399455470892502310139608978164573773765910533535849969889860275644658086339362201840191861497991951344100284004205747279828567835277683
c=643011921358774538378881505518732362708757638007688649119354348647468190640688857686213431516881297805187671774564672497176686191162897918672339254715366498963369868410476737543157157149810569n_10=gmpy2.iroot(n,10)[0]
print(n_10+1)
for r in range(n_10,n_10+4000):p1 = r**5 + r**4 - r**3 + r**2 - r + 2024q1 = r**5 - r**4 + r**3 - r**2 + r + 2024p =nextprime(p1)q =nextprime(q1)if p*q==n:print(p,q,r- n_10)break
print('done')def rsa(p,q,e,c):d=pow(e,-1,(p-1)*(q-1))m=pow(c,d,p*q)print(bytes.fromhex(hex(m)[2:]))return m
m=rsa(p,q,65537,c)

运行

但是具体原理不知道

注意:可能会报错No module named 'sympy'。没有找到sympy库

解决方法:打开python所在文件夹

在文件夹上打开终端(输入cmd)

输入指令pip install sympy

下载sympy库

必须退出python模式,在cmd打开python模式,就在这个模式下安装,这是不允许的

下载好sympy库后,再次运行脚本即可

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

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

相关文章

【OceanBase 系列】—— OceanBase v4.3 特性解读:查询性能提升之利器列存储引擎

原文链接&#xff1a;OceanBase 社区 对于分析类查询&#xff0c;列存可以极大地提升查询性能&#xff0c;也是 OceanBase 做好 HTAP 和 OLAP 的一项不可缺少的特性。本文介绍 OceanBase 列存的实现特色。 OceanBase从诞生起就一直坚持LSM-Tree架构&#xff0c;不断打磨功能支…

Google Earth Engine谷歌地球引擎计算遥感影像在每个8天间隔内的多年平均值

本文介绍在谷歌地球引擎&#xff08;Google Earth Engine&#xff0c;GEE&#xff09;中&#xff0c;求取多年时间中&#xff0c;遥感影像在每1个8天时间间隔内的多年平均值的方法。 本文是谷歌地球引擎&#xff08;Google Earth Engine&#xff0c;GEE&#xff09;系列教学文章…

PPP点对点协议

概述 Point-to-Point Protocol&#xff0c;点到点协议&#xff0c;工作于数据链路层&#xff0c;在链路层上传输网络层协议前验证链路的对端&#xff0c;主要用于在全双工的同异步链路上进行点到点的数据传输。 PPP主要是用来通过拨号或专线方式在两个网络节点之间建立连接、…

【高阶数据结构】图--邻接矩阵、邻接表、BFS、DFS、Kruskal、Prime

图--邻接矩阵、邻接表、BFS、DFS、Kruskal、Prime 一、图的概述1、概述&#xff08;纯理论部分&#xff09;2、邻接矩阵&#xff08;实现一个添加边的图&#xff09;&#xff08;1&#xff09;思路介绍&#xff08;2&#xff09;代码部分&#xff08;3&#xff09;测试部分 3、…

QT实战百度语音识别

前言 随着学习的深入&#xff0c;感觉愈发缺乏满足感。刚好看到微信语音转文字的功能&#xff0c;经网上查询&#xff0c;发现可以使用 QT 百度语音识别技术 实现这一功能。当然&#xff0c;由于使用的 QT 和 百度语音识别&#xff0c;那么看不到一些具体的底层实现&#xff…

将大概的流程具体还是看源码

之前看源码的时候呢没有文字整理&#xff0c;想来还是写一个大概的流程吧&#xff0c;具体是无法用文字描述 spring源码真的yyds&#xff0c;数据结构 反射 父子类 接口…玩得溜到飞起 博大精深呐 后期不断喜欢ing&#xff01; springApplication.run方法 获取了一个Configu…

STC8增强型单片机开发——GPIO

一、理解电灯案例的代码 #include "STC8H.H"int main() {P5M0 0x00;P5M1 0x00;P53 1;while(1) {} } #include "STC8H.H" 引入头文件P5M0 0x00;P5M1 0x00;配置引脚模式P531;配置IO引脚的电平 二、头文件STC8H.H 针对 STC8H 系列芯片的头文件&#xff…

VALSE 2024 Workshop报告分享┆ 大规模自动驾驶仿真系统研究

视觉与学习青年学者研讨会&#xff08;VALSE&#xff09;旨在为从事计算机视觉、图像处理、模式识别与机器学习研究的中国青年学者提供一个广泛而深入的学术交流平台。该平台旨在促进国内青年学者的思想交流和学术合作&#xff0c;以期在相关领域做出显著的学术贡献&#xff0c…

【汇总】虚拟机网络不通(Xshell无法连接虚拟机)排查方法

搜索关键字关键字关键字&#xff1a;虚拟机虚拟机虚拟机连接失败、虚拟机无法连接、Xshell连接失败、ping baidu.com失败、静态IP设置 Kali、CentOS、远程连接 描述&#xff1a;物理机无法连接虚拟机&#xff1b;虚拟机无法访问百度&#xff0c;虚拟机无法访问baidu.com 虚拟机…

OpenCV|简单绘制一个矩形

OpenCV中的rectangle() 为绘制矩形命令&#xff0c;形式如下&#xff1a; # (img: cv2.typing.MatLike, pt1: cv2.typing.Point, pt2: cv2.typing.Point, color: cv2.typing.Scalar, thickness: int ..., lineType: int ..., shift: int ...)cv2.rectangle(img, pt1, pt2, …

Android getevent命令详细分析

在调试Android 的输入事件时&#xff0c;经常使用 “getevent -lrt” 命令&#xff0c;来确认驱动上报数据是否正常。从源码的角度来详细的分析一下getevent 这个程序。 首先用ls命令来看一下getevent lrwxr-xr-x 1 root shell 7 2023-11-20 10:08 system/bin/getevent -> …

基于Springboot的校园健康驿站管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园健康驿站管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系…