BUUCTF中的密码题目解密

BUUCTF

1.MD5

题目名称就是MD5,这个题目肯定和md5密码有关,下载题目,打开后发现这确实是一个md5加密的密文

Md5在线解密网站:md5在线解密破解,md5解密加密

经过MD5在线解密网站解密后,获取到flag为:flag{admin1}

2.一眼就解密

这里可以看出,这是一个base64的编码,Base64编码是使用包含大小写字母、数字和特殊字符的64个字符集

Base64在线解密网站:https://base64.us/

经过Base64在线解密网站解码后,获取到flag为:flag{THE_FLAG_OF_THIS_STRING}

3.url编码

题目名称就是url编码,这个题目肯定和url编码有联系,下载题目,打开后发现这确实是一个url编码,URL编码使用ASCII字符集。除了英文字母和数字,它还包含一些特殊字符,例如!、*、'、(、)、-和_。

url在线解码网站:在线url网址编码、解码器-BeJSON.com

经过url在线解码网站解码后,获取到flag:flag{and 1=1}

4.看我回旋踢

下载题目,看到这串字符,猜测可能是之前讲过的哪一个密码呢?栅栏的话,不对,因为flag是四个字符,这个题目给出也是4个字符,这里没有进行移位,看到有字母有数字,那么可以猜测 一下是不是凯撒加密,但是凯撒密码只针对26个字母进行移位,数字和符号是不会进行移位的,不管是不是,先尝试进行一下凯撒解密,由于不知道这里是移了几位,可以编写一个脚本,输出所有可能的结果。

s = 'synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}'   # 栅栏解密后的字符串,去除了“{}”

string = ''  # 用于保存解密后的结果

for j in range(26):  # 遍历所有可能的位移量

    n = list(s)  # 在每个循环开始前重置 n

    for i in range(len(s)):  # 遍历字符串中的每个字符

        if n[i].islower():

            n[i] = chr((ord(n[i]) - 97 + j) % 26 + 97)

        elif n[i].isupper():

            n[i] = chr((ord(n[i]) - 65 + j) % 26 + 65)

    string = ''.join(n)

    print(string)  # 输出每个尝试的解密结果

运行脚本,输出所有进行移位后的结果,发现有在偏移位为13位的时候,可以得到一个flag,输入flag测试一下,看猜测是否为真

这里显示已经解出来了,那说明这个flag是正确的,那也就是说之前的猜测为真,这确实是一个凯撒加密。

所以这道题的flag为:flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}

5.摩丝

题目名称就是摩丝,这个题目肯定和摩丝密码有关,下载题目,打开后发现这确实是一个摩丝密码加密的密文

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

将密文经过摩丝密码在线解密网站解密之后,获取到flag为:flag{ILOVEYOU}

6.Password

下载题目,发现题目里面就简单给了以下信息,题目中说到key格式为key{xxxxxxxxxx},大胆猜一下,给的key的格式中有10个x,给的姓名张三,英文缩写为zs,生日19900315,zs19900315连在一起也是10个字符,不确定对不对,把flag包装成:flag{zs19900315},提交试试

提交成功,说明猜测正确,flag就是flag{zs19900315}

7.变异凯撒

凯撒密码:简而言之是按固定值偏移替换

变异凯撒可能偏移量不固定,下面来具体分析:

先对应观察一下ASCII码:

        afZ_r   对应的ASCII码为:97  102  90   95   114

        flag{    对应的ASCII码为:102 108  97  103 123

               对应的偏移量为: 5     6     7     8       9

        我们可以发现:偏移量从5开始,逐个+1

key = 'afZ_r9VYfScOeO_UL^RWUc'

j = 5 #第一次位移为5,之后每位位移+1

for i in key:

    print(chr(ord(i) + j), end='')

j += 1

运行脚本,得到flag为:flag{Caesar_variation}

8.Quoted-printable

看到题目,不知道这是个什么加密,下载题目,打开后是一串字符

百度一下这个题目,发现Quoted-printable是一种编码方式,Quoted-Printable编码方法,适合所传输数据中,只有少量的非ASCII编码,用一个等号(=)后面加两个数字字符来表示一个非ASCII码字符。

Quoted-printable在线解码网站:http://www.hiencode.com/quoted.html

将密文进行解码后,得到flag为:flag{那你也很棒哦}

9.Rabbit

下载题目,不知道是什么加密方式,可以百度Rabbit加密看看,发现有这个加密,而且这个加密方式有个特点:Rabbit加密开头部分通常为U2FsdGVkX1,而这个密文的开头部分也是U2FsdGVkX1

Rabbit在线解密网站:https://www.woodmanzhang.com/webkit/rabbitencrypt/index.html

将密文在在线网站解码后,得到flag:flag{Cute_Rabbit}

10. 篱笆墙的影子

下载题目,暂时不知道是什么加密方式,前面有说到过栅栏密码,可以大胆猜测这个题目是栅栏加密,由于题目需要flag需要解为flag{}的形式

所以felhaagv解密为flag的形式:

f l a g

e h a v

所以可以看出该栅栏密码为两行,把密文丢到解密工具解密

得到flag为:flag{wethinkwehavetheflag}

11.RSA

下载题目,是一个RSA的加密,公钥e,两个素数p,q,这里可以直接使用RSA解密工具进行解密

Public Exponent这里要使用16进制的数,公钥e=17的话,就应该填入十六进制的11,给出p,q,e的话直接填入,再点击Calc.D,获得d

D即是需要获取的flag,所以flag为:flag{125631357777427553}

12.丢失的MD5

下载题目,解压后打开发现是一个md5的python脚本

把脚本放到pycharm里面打开,发现运行不了, print报错

查询资料发现,不加括号调用print就是python2,加括号调用print就是python3,因此猜测这个脚本要用python2的环境运行

将脚本放到python2的环境中运行,运行成功,将运行结果用flag{}包装,提交看是否能成功

提交成功,则flag就为:flag{e9032994dabac08080091151380478a2}

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

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

相关文章

burp插件new_xp_capcha识别验证码的简易安装

1.new_xp_capcha 插件是大佬开发的可以正常白嫖,感谢大佬,我找了个不需要任何高级操作就可以做的安装手法,因为我在网上搜了一下就发现这个的安装过程攻略都还蛮复杂,我这里用了个简单的手法 2.安装 下载地址:smxia…

【软件设计师】2022年上半年真题解析

​​冯诺依曼计算机体系结构的基本特点是: A. 程序指令和数据都采用二进制表示 - 这是正确的,因为冯诺依曼架构下的计算机使用二进制形式来表示和处理所有信息,包括指令和数据。 B. 程序指令总是存储在主存中,而数据则存储在高速…

二维数组传参时不用二级指针接收

先放结论: 1. 二维数组数组名指向的类型是 int [x] 类型,int** 指针指向类型是 int* ,如果用二级指针接收会导致访问错误,因为 int [x] 类型和 int* 类型不同。 2. 指向什么类型的指针1就按照该类型的字节数1移动。 最近在学…

Kafka 集群 KRaft 模式搭建

一、Kafka 集群 KRaft 介绍 Kafka的KRaft模式是一种新的元数据管理方式,旨在去除对ZooKeeper的依赖,使Kafka成为一个完全自包含的系统。在Kafka的传统模式下,元数据管理依赖于ZooKeeper,这增加了部署和运维的复杂性。为了解决这个…

MySQL—函数(介绍)—字符串函数(基础)

一、引言 提到函数,在SQL分类中DQL语句中有一个聚合函数,如COUNT()、SUM()、MAX()等等。这些都是一些常见的聚合函数,而聚合函数只是函数的一种,接下来会详细的学习和介绍一下函数的应用场景和以及 mysql 当中文件的函数有哪些。 …

大学生Python自救课程总结

因为一些事情的缘故,我已经几乎没有更新很久了,然后现在快到期末了,不知道各位学习python的同志们慌不慌【坏笑】。 本学期,我只是简单的讲了讲python的基础用法。当然,可能有些地方总结的并不全面,很多知…

.gitignore 文件

一.什么是 .gitignore 文件 在任何当前工作的 Git 仓库中,每个文件都是这样的: 追踪的(tracked)- 这些是 Git 所知道的所有文件或目录。这些是新添加(用 git add 添加)和提交(用 git commit 提…

allure测试报告用例数和 pytest执行用例数不相同问题

我出现的奇怪问题: pytest执行了9条用例,但是测试报告确只显示3条用例 我将其中的一个代码删除后,发现allure测试报告又正常了 我觉得很奇怪这个代码只是删除了二维数组的第一列,我检查了半天都找不到问题,只有降低版本…

【自撰写,国际象棋入门】第1课、棋盘和棋子

第1课 棋盘和棋子 一、国际象棋的棋盘 国际象棋的棋盘为一8乘8的黑、白格相间的棋盘,8条竖线的编号分别为A-H,8条横线的编号分别为1-8,在记谱时用竖线编号横线编号的方式表示棋盘上的格子,例如a1格、h8格等.棋盘上有几条重要的大…

【数据密集型系统设计】软件系统的可靠性、可伸缩性、可维护性

文章目录 一. 数据密集型程序的特点以及遇到的问题二. 可靠性 : 即使出现问题,也能继续正确工作1 硬件故障2. 软件错误3. 人为错误 二. 可伸缩性1. 描述负载与推特的例子2. 描述性能-延迟和响应时间3. 应对负载的方法 四. 可维护性1. 可操作性:人生苦短&…

汇编:调用Win32 API

在32位汇编程序中使用 Win32 API 是很常见的,特别是在开发 Windows 应用程序时调用的频率很高,Win32 API 提供了访问 Windows 操作系统功能的接口,包括窗口、消息处理、文件操作、网络通信等等。以下是使用 Win32 API 的一般步骤:…

数据结构与算法03-散列表(哈希表)

介绍 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在存储器存储位置的数据结构。也就是说,它通过计算出一个键值的函数,将所需查询的数据映射到表中一个位置来让人访问&…

队列——一种操作受限的线性表

队列 队列(Queue)简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队,删除元素称为出队或离队。队列中的元素是先进先出(Fir…

win_os_linux不能用于文件名的保留字符

windows 在 Windows 文件系统中&#xff0c;以下字符是保留字符&#xff0c;不能用于文件名或目录名&#xff1a; < (小于号)> (大于号): (冒号)" (双引号)/ (斜杠)\ (反斜杠)| (竖线)? (问号)* (星号) 此外&#xff0c;文件名不能以空格或句点 (.) 结尾&#x…

关于Golang中自定义包的简单使用-Go Mod

1. go env 查看 GO111MODULE 是否为 on&#xff0c;不是修改成on go env -w GO111MODULEon 2 .自定义包的目录格式 3. test.go 内容 package calc func Add(x, y int) int { // 首字母大写表示公有方法return x y }func Sub(x, y int) int {return x - y } 4.生成calc目…

动规算法-地下城游戏

在刷题练习专栏中&#xff0c;已经写了两篇文章实现对动态规划入门题目的讲解了&#xff0c;动态规划这类题目很难很好的掌握&#xff0c;今天给大家带来稍微深入的题目&#xff0c;帮助大家更好的理解动态规划的算法思想&#xff0c;加深对该算法的理解&#xff0c;建议看每道…

高考试卷押运车视频监控解决方案

一、引言 高考作为我国教育领域的重要事件&#xff0c;其公正、公平和安全性一直备受社会关注。试卷押运作为高考的重要环节&#xff0c;其安全性直接关系到高考的顺利进行和考生的切身利益。因此&#xff0c;对高考试卷押运车实施视频监控解决方案&#xff0c;对于确保试卷安…

使用eclipse自动生成实体类

前言 在软件开发过程中&#xff0c;经常需要创建大量的实体类来映射数据库表或者表示业务模型。手动编写实体类既费时又容易出错&#xff0c;因此许多集成开发环境&#xff08;IDE&#xff09;提供了自动生成实体类的功能。本篇博客将介绍如何在 Eclipse 中内置功能来快速生成实…

mybatis异常:Invalid bound statement (not found): com.lm.mapper.ArticleMapper.list

现象&#xff1a; 原因&#xff1a; 无效绑定&#xff0c;应该是mybatis最常见的一个异常了&#xff0c;接口与XML文件没绑定。首先&#xff0c;mapper接口并没有实现类&#xff0c;所以框架会通过JDK动态代理代理模式获取接口的代理实现类&#xff0c;进而根据接口全限定类名…

嵌入式期末复习

一、选择题&#xff08;20&#xff09; 二、判断题&#xff08;10&#xff09; 三、填空题&#xff08;10&#xff09; 主机-目标机的文件传输方式主要有串口传输方式、网络传输方式、USB接口传输方式、JTAG接口传输方式、移动存储设备方式。常用的远程调试技术主要有 插桩/st…