Bugku Crypto 部分题目简单题解

news2025/1/12 9:52:29

抄错的字符

题目描述:

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

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 string

md5_list = {}
for c in string.printable:
    m = hashlib.md5(c.encode())
    md5_list[str(m.hexdigest())] = c

with 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=643011921358774538378881505518732362708757638007688649119354348647468190640688857686213431516881297805187671774564672497176686191162897918672339254715366498963369868410476737543157157149810569
 
n_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 + 2024
    q1 = r**5 - r**4 + r**3 - r**2 + r + 2024
    p =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.coloradmin.cn/o/1654420.html

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

相关文章

多模态EDA论文小记

论文地址 该论文主要改进点是&#xff1a;通过动态化局部搜索中每个集群大小&#xff0c;高斯和柯西分布共同产生个体。总的来说改进点不多&#xff0c;当然也可能是笔者还没发现。 局部搜索 划分集群 划分集群有两个策略分别是&#xff1a; 随机生成一个点作为中心点&…

Spring Boot | Spring Boot 整合 “RabbitMQ“ ( 消息中间件 ) 实现

目录: Spring Boot 整合 "RabbitMQ" ( 消息中间件 )实现 &#xff1a;一、Spring Boot 整合 整合实现 : Publish/Subscribe ( 发布订阅 ) 工作模式 ( "3种"整合实现方式 )1.1 基于"API"的方式 ( 实现 Publish/Subscribe "发布订阅"工作…

【智能楼宇秘籍】一网关多协议无缝对接BACnet+OPC+MQTT

在繁华的都市中心&#xff0c;一座崭新的大型商业综合体拔地而起&#xff0c;集购物、餐饮、娱乐、办公于一体&#xff0c;是现代城市生活的缩影。然而&#xff0c;这座综合体的幕后英雄——一套高度集成的楼宇自动化系统&#xff0c;正是依靠多功能协议网关&#xff0c;实现了…

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

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

精通GDBus:Linux IPC的现代C接口

目录标题 1. GDBus介绍2. GDBus的优点3. 安装GDBus4. 使用GDBus连接到D-Bus总线实现D-Bus服务调用D-Bus方法发送和接收信号 5. 总结 在Linux环境下&#xff0c;不同的程序需要通过某种方式进行通信和协同工作。GDBus是GLib库的一部分&#xff0c;提供了一个基于GObject系统的、…

英语新概念2-回译法-lesson13

The Greenwood Boys 绿林少年是一组流行歌手们。现在他们正在参观城市里的所有公园&#xff0c;他们明天就要到这。他们将坐火车到并且大多数小镇上的年轻人将要欢迎他们&#xff0c;明天晚上他们将要在工人俱乐部唱歌。绿林少年将在这待五天&#xff0c;在这期间&#xff0c;…

Redis集群分片

什么是集群 集群是由多个复制集组成的,能提供在多个redis节点间共享数据的程序集 简而言之就是将原来的单master主机拆分为多个master主机,将整个数据集分配到各主机上 集群的作用 集群中可以存在多个master,而每个master可以挂载多个slave自带哨兵的故障转移机制,不需要再去…

华为车BU迈入新阶段,新任CEO对智能车的3个预判

作者 |张马也 编辑 |德新 4月24日&#xff0c;北京车展前夕&#xff0c;华为召开了新一年的智能汽车解决方案新品发布会。 这次发布会&#xff0c;也是华为智能汽车解决方案BU&#xff08;简称「车BU」&#xff09;CEO 靳玉志的公开首秀。 一开场&#xff0c;靳玉志即抛出了…

刷题训练之模拟

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟练掌握模拟算法。 > 毒鸡汤&#xff1a;学习&#xff0c;学习&#xff0c;再学习 ! 学&#xff0c;然后知不足。 > 专栏选自&#xff1a;刷题训…

ICode国际青少年编程竞赛- Python-2级训练场-列表入门

ICode国际青少年编程竞赛- Python-2级训练场-列表入门 1、 Dev.step(3)2、 Flyer.step(1) Dev.step(-2)3、 Flyer.step(1) Spaceship.step(7)4、 Flyer.step(5) Dev.turnRight() Dev.step(5) Dev.turnLeft() Dev.step(3) Dev.turnLeft() Dev.step(7) Dev.turnLeft() Dev.…

TMS320F2812DSP最小系统原理图及PCB文件

目录 1、原理图 2、PCB 资料下载地址&#xff1a;TMS320F2812DSP最小系统原理图及PCB文件 1、原理图 2、PCB

Unity数据持久化之Json

Json概述 Json是什么? 全称:JavaScript对象简谱(JavaScript Object Notation) Json是国际通用的一种轻量级的数据交换格式 主要在网络通讯中用于传输数据,或本地数据存储和读取 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率 我们一般使用Json文件来…

2024蓝桥杯CTF writeUP--Theorem

密码方向的签到题&#xff0c;根据题目已知n、e和c&#xff0c;并且p和q是相邻的素数&#xff0c;可以考虑分解。 通过prevprime函数分解n&#xff0c;然后 RSA解密即可&#xff1a; from Crypto.Util.number import long_to_bytes import gmpy2 import libnumfrom sympy im…

【linux】进程概念|task_struct|getpid|getppid

目录 ​编辑 1.进程的概念 进程的基本概念 进程与程序的主要区别 进程的特征 进程的状态 描述进程—PCB task_struct中的内容 查看进程 1.创建一个进程&#xff0c;运行以下代码 通过系统调用获取进程标示符 getpid()以及getppid() 1.进程的概念 进程的基本概念…

最常用的AI工具

在日常工作生活中&#xff0c;我试用了几十种AI人工智能工具&#xff0c;下面我来推荐下我最常使用&#xff0c;也是最方便快捷的AI工具。 1百度文心一言 文心一言是一个综合性的大语言模型&#xff0c;整合了很多优秀的提示词&#xff0c;尤其是文心4.0大模型&#xff0c;在中…

《手把手教你怎么上手做一个小程序》

准备工作&#xff1a; 硬件准备&#xff1a; 装有微信的手机一台。 账号注册&#xff1a; 进入https://mp.weixin.qq.com/cgi-bin/registermidpage?actionindex&langzh_CN&token注册一个微信小程序账号。 然后输入邮箱注册账号。一个邮箱只能注册一个微信公众平台…

《Python编程从入门到实践》day22

# 昨日知识点回顾 方法重构、驾驶飞船左右移动、全屏显示 飞船不移动解决&#xff0c;问题出在移动变量x更新 # Ship.pysnipdef update(self):"""根据移动标志调整飞船的位置"""# 更新飞船而不是rect对象的x值# 如果飞船右移的标志和飞船外接…

重定向_缓冲区

目录 重定向 文件属性操作 浅谈重定向​编辑 深入重定向 dup2 缓冲区 缓冲区的理论理解 代码分析 重定向 文件属性操作 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *path, struct stat *buf); int fstat(i…

如何购买阿里云99计划的ECS云服务器?99元购买阿里云2核2G3M服务器教程

阿里云助力中小企业和开发者无忧上云的“99计划”中有两款性价比超高的ECS云服务器&#xff0c;2026年3月31日活动结束前新购和续费价格一样。 其中个人和企业新老用户同享的2核2G3M服务器仅需99元/年&#xff08;续费同价&#xff09;&#xff0c;企业新老用户同学的2核4G5M仅…

鸿蒙OpenHarmony开发板:【子系统配置规则】

子系统 子系统配置规则 通过build仓下的subsystem_config.json可以查看所有子系统的配置规则。 {"arkui": {"path": "foundation/arkui", # 路径"name": "arkui" # 子系统名},"ai": {&q…