BUUCTF 刷题记录

目录

Basic

1 linux labs

Crypto

1 MD5


Basic

1 linux labs

这道题主要考查的是ssh的知识,需要远程用ssh连接上这台虚拟机。

题目中给了地址、端口、账号和密码

BUUCTF 刷题记录_第1张图片

打开了这个网页之后其实并没有什么用。

BUUCTF 刷题记录_第2张图片

我们需要通过主机cmd去用ssh链接

格式是:ssh -p 端口 用户名@网址

 然后输入yes和密码,就成功连接上。

先用ls命令看看有什么东西没有,发现没有返回的东西,说明一开始就进去了一个空的文件夹。

这时我们可以用cd..这个命令去返回上一级

然后再用ls查看,发现一个flag.txt文件,用cat命令进行查看,就可以看到flag了

BUU LFI COURSE 11

题目中其实已经给出来了提示 LFI(Local File Include)

这就是php文件包含类型题目【程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,无需再次编写,这种文件调用的过程一般被称为文件包含】

BUUCTF 刷题记录_第3张图片

 

文件包含在 php 中,涉及到的危险函数有四个: include()、include_once()、require()、require_once()。

        include:包含并运行指定的文件,包含文件发生错误时,程序警告,但会继续执行。
        include_once:和 include 类似,不同处在于 include_once 会检查这个文件是否已经被导入,如果已导入,下文便不会再导入。
        require:包含并运行指定的文件,包含文件发生错误时,程序直接终止执行。
        require_once:和 require 类似,不同处在于 require_once 只导入一次。
当利用这四个函数来包含文件时,不管文件是什么类型(图片、txt等等),都会直接作为php文件进行解析。在本题的PHP代码中即可看到include函数
因为文件路径可控,当输入系统的密码文件所在路径时,内容会输出出来

所以直接在url后面构造/?file=/flag即可

BUUCTF 刷题记录_第4张图片

 

Crypto

1 MD5

 BUUCTF 刷题记录_第5张图片

下载这个压缩包,解压之后题目就在里面

BUUCTF 刷题记录_第6张图片

网上搜一个一个MD5解密的网站

直接复制扔进去解密就好了

BUUCTF 刷题记录_第7张图片

提交的时候记得加上flag{}

flag就是flag{admin1} 

一眼就解密 1

BUUCTF 刷题记录_第8张图片

这串编码中有“=”,说明应该是base64编码

BUUCTF 刷题记录_第9张图片

Url编码1

BUUCTF 刷题记录_第10张图片

题目提示的很清楚了,是url解密

BUUCTF 刷题记录_第11张图片

看我回旋踢 1

BUUCTF 刷题记录_第12张图片

看到这个题目“回旋踢”应该能够联想到凯撒密码,因为凯撒密码的关键词就是“回旋踢”“回转”之类的,而且格式是synt{},可以联想到应该是flag{},所以应该是凯撒密码,并且移动了13位,是rot13编码。

BUUCTF 刷题记录_第13张图片

摩丝1

这个就是很明显很普通的摩斯密码了,扔到在线解密网站解密去

BUUCTF 刷题记录_第14张图片

这道题其实有个坑,就是解密出来的都是小写,但是flag交上去的时候要全部换成大写,而且我在不同网站解密出来的竟然不一样,其他有的网站解密出来很抽象,上图解密出来的比较正常一些,应该就是答案。

password 1

BUUCTF 刷题记录_第15张图片

 这道题目太抽象了,我刚拿到一头雾水,谁能想到flag就是zs19900315呢,竟然就是首字母加上生日,这道题真的不知道怎么解释。

变异凯撒1

BUUCTF 刷题记录_第16张图片

 既然是凯撒密码,关键点就是需要找到移动的位数就行了

通过对照ASCII码可以发现第一个a和f移动了5位,第二个f和l移动了6位,第三个Z和a移动了7位,以此类推每一位都多移动一位,所以可以对照着ASCLL码把flag推算出来是flag{Caesar_variation}

Quoted-printable 1

BUUCTF 刷题记录_第17张图片

这边先介绍一些这个编码:

任何一个8位的字节值可编码为3个字符:一个等号”=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值.例如,ASCII码换页符(十进制值为12)可以表示为”=0C”, 等号”=”(十进制值为61)必须表示为”=3D”. 除了可打印ASCII字符与换行符以外,所有字符必须表示为这种格式.

所有可打印ASCII字符(十进制值的范围为33到126)可用ASCII字符编码来直接表示, 但是等号”=”(十进制值为61)不可以这样直接表示.ASCII的水平制表符(tab)与空格符, 十进制为9和32, 如果不出现在行尾则可以用其ASCII字符编码直接表示。如果这两个字符出现在行尾,必须QP编码表示为”=09″ (tab)或”=20″ (space).

quoted-printable编码的数据的每行长度不能超过76个字符. 为满足此要求又不改变被编码文本,在QP编码结果的每行末尾加上软换行(soft line break). 即在每行末尾加上一个”=”, 但并不会出现在解码得到的文本中.

由此可知简单来说的话就是三个为一组的,以“=”开头的ASCII字符编码。

BUUCTF 刷题记录_第18张图片

Rabbit 1

BUUCTF 刷题记录_第19张图片

根据题目可知是rabbit解码

BUUCTF 刷题记录_第20张图片

篱笆墙的影子 1

BUUCTF 刷题记录_第21张图片

这道题中因为答案是flag{}的格式,题目中给的依稀是可以看出来flag的,可以看出来应该是两个字母一组取前面那个,所以推测是栅栏密码

BUUCTF 刷题记录_第22张图片

RSA1

这个说实话,就开始考验计算能力了

关于RSA相关公式

n = p * q

ø(n) = (p - 1) * (q - 1)

ed ≡ 1 mod ø(n) 

c = m**e mod n

m = c**d mod n

BUUCTF 刷题记录_第23张图片

这道题用到前三个公式就可以解出来,知道公式之后感觉就像数学题目一样。

flag{125631357777427553}

丢失的MD51

下载之后得到一段python代码

BUUCTF 刷题记录_第24张图片

先运行一下,发现报错是因为算法之前没有编码,上网查了一下之后,发现要在第六行update的括号里面每一项后面都要加上 .encode('utf-8'),然后最后print的des也要加上个括号 

然后再运行一下

BUUCTF 刷题记录_第25张图片得到最后一行的flag

Alice与Bob 1

BUUCTF 刷题记录_第26张图片

 先得把这两个素数给找出来

BUUCTF 刷题记录_第27张图片

然后再去md5加密一下

BUUCTF 刷题记录_第28张图片

得到flag 

你可能感兴趣的:(ctf学习,linux,服务器,ssh)