BUUCTF-加密1
MD5
打开题目下载得到一个文件夹,打开文件夹里的文本得到一串MD5的密文,拿去解密即可得到flag.


一眼就解密
打开就看见题目给的一行base64编码,直接拿去解密即得到flag

Url编码
题目已经很明显了,就是url编码的,只需拿去解码即可


看我回旋踢
打开题目下载压缩包后,文本内写着一段ROT13字符串

ROT13(回转13位,rotate by 13 places,有时中间加了个连字符称作ROT-13)是一种简易的替换式密码。
ROT13被描述成“杂志字谜上下颠倒解答的Usenet点对点体”。ROT13 也是过去在古罗马开发的凯撒加密的一种变体。
特点:
套用ROT13到一段文字上仅仅只需要检查字元字母顺序并取代它在13位之后的对应字母, 有需要超过时则重新绕回26英文字母开头即可。
只有这些出现在英文字母里头的字元受影响;
数字、符号、空白字元以及所有其他字元都不变。
直接拿去解密即可得到flag。

摩丝
有题知为摩斯编码,直接拿去解密即可得到flag。


password
下载压缩包,打开里面文本得到以下内容

从内容中可以判断出key=flag,里面的内容可以大概猜测一下,首先直接用生日当密码,结果提交的flag错误,然后就要考虑到他的名字,加他名字的首字母小写在生日前面,即可得到正确的flag。
变异凯撒
下载压缩包,打开里面文本得到以下内容

此时还用前面‘看我回旋踢‘ 的操作得到的flag是错的。
密文:afZ_r9VYfScOeO_UL^RWUc,看看能否与ctf 或者flag 对应上
a:97 f:102 Z:106 _:95
c:99 t:116 f:102 {:123
f:102 l:108 a:97 g:103
由规律可以看出 a→f: 移动了5 f→l:移动了6 后面依次移动了7、8…… 此时按照这种移动规律,去写代码
def b_kaisa(mstr):
j = 5
i = 0
lmstr = []
for i in range(len(mstr)):
m = ord(mstr[i]) # 将密文的第i个字母变为其ascii码值
m = m + j # ascii值+j
lmstr.append(m) # 将递进后的ascii值存入列表lmstr[]
i = i+1
j = j+1
return lmstr
if __name__ == '__main__':
m_str = 'afZ_r9VYfScOeO_UL^RWUc' # 密文
lstr = []
lstr = b_kaisa(m_str)
print lstr


工具:https://www.qqxiuzi.cn/bianma/ascii.htm
Quoted-printable
下载压缩包,打开里面文本得到以下内容

由题知这是Quoted-printable编码,拿去解密即可得到flag。
Quoted-printable编码是多用途互联网邮件扩展(MIME) 一种实现方式。其中MIME是一个互联网标准,它扩展了电子邮件标准,致力于使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。目前http协议中,很多采用MIME框架!quoted-printable 就是说用一些可打印常用字符,表示一个字节(8位)中所有非打印字符方法!
方法
任何一个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).
如果数据中包含有意义的行结束标志,必须转换为ASCII回车(CR)换行(LF)序列,既不能用原来的ASCII字符也不能用QP编码的”=”转义字符序列。 相反,如果字节值13与10有其它的不是行结束的含义,它们必须QP编码为=0D与=0A.
quoted-printable编码的数据的每行长度不能超过76个字符. 为满足此要求又不改变被编码文本,在QP编码结果的每行末尾加上软换行(soft line break). 即在每行末尾加上一个”=”, 但并不会出现在解码得到的文本中.
例如:If you believe that truth=beauty, then surely mathematics is the most beautiful branch of philosophy. 编码后结果是
If you believe that truth=3Dbeauty, then surely=20=
mathematics is the most beautiful branch of philosophy.
Rabbit
下载压缩包,打开里面文本得到以下内容

将这段字符串进行Rabbit解密即可得到flag。

篱笆墙的影子
下载压缩包,打开里面文本得到以下内容

由题目的“篱笆墙”可以想到有可能是栅栏密码。直接拿去解密即得到flag

RSA
下载压缩包,打开里面文本得到以下内容

使用工具 RSA-Tool2 by tE来得出flag-->Private Exponent(D)

先将e,p,q输入进去,再点击Calc.D,获得d。(工具里的有相应的大写对应提示)
如果题目换一种问法:给出的是n和e的话,首先需要先输入n和e,点击Factor N(分解),得到p,q,再重复上一步步就能得到d。
注:Public Exponent这里要使用16进制的数,如果公钥e=17的话,就应该填入十六进制的11(自己拿去在线工具转换)

浙公网安备 33010602011771号