Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'BaiduLinkSeo_Plugin' does not have a method 'post' in /var/www/html/build/var/Typecho/Plugin.php on line 489
BUUCTF Crypto部分整理(待更新....) - Miagz's blog

BUUCTF Crypto部分整理(待更新....)

由 Miagz 发布

看我回旋踢

下载下来可以看到有一份密文synt{5pq1004q-86n5-46q8-o720-oro5on0417r1},根据题目的意思应该是凯撒密码加密
http://ctf.ssleye.com/caesar.html

得出flag flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}

一眼就解密

正如题目所说一看就可以看出这是base64编码直接去解密
https://www.sojson.com/base64.html
得出flag
flag flag{THE_FLAG_OF_THIS_STRING}

摩丝

这道题也瞬间可以联想到是摩斯密码
文件内容:.. .-.. --- ...- . -.-- --- ..-
现将空格改为/再进行解密

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

https://tool.lu/morse/

解密得到ILOVEYOU根据题目意思用flag{}包住flag{ILOVEYOU}

password

将文件下载下来内容为

姓名:张三 
生日:19900315

key格式为key{xxxxxxxxxx}

我们先分析一波,key格式为key{xxxxxxxxxx}这行我们可以分析出来flag的长度为10,名字张三的长度则为2,而生日19900315的长度则为8,我们就可以得出flag是名字的缩写+生日组成的flag zs19900315
根据题目的意思使用flag{}包住得flag{zs19900315}

变异凯撒

下载下来可以看到加密密文:afZ_r9VYfScOeO_UL^RWUc,都说了是变异凯撒说明没那么简单,先将密文转换为ascii码

97 102 90 95 114 57 86 89 102 83 99 79 101 79 95 85 76 94 82 87 85 99

因为题目内容中告诉我们flag的格式为flag{},那么flag的开头必定会有flag,先将flag转换为ascii码102 108 97 103,
然后将密文的ascii码的前四个拿出来进行分析

97 102 90 95
102 108 97 103

我们可以看到密文的第一个a的ascii码97加5的话就等于flag中f的ascii码102,密文第二个f的ascii码102加6的话就等于flag中l的ascii码108,密文中第三个Z的ascii码90加7就等于flag中a的ascii码97了,依照这个规律我们可以推断出从密文中第一个字符的ascii码加5开始逐步加1,然后转化为字符即可获取到flag值,直接编写代码跑

value="afZ_r9VYfScOeO_UL^RWUc"
flag=''
count=5
for i in value:
    flag+=str(chr(ord(i)+count))
    count+=1
print(flag)

即可得出flag:flag{Caesar_variation}

Quoted-printable

下载下来的内容为

=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6

我瞬间想到的是这应该是url编码,只是将%换成了=而已,全部替换成%

%E9%82%A3%E4%BD%A0%E4%B9%9F%E5%BE%88%E6%A3%92%E5%93%A6

然后进行解码
https://www.bejson.com/enc/urlencode/

解出来然后使用flag包上就是flag{那你也很棒哦}

Rabbit

U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI

题目也告诉了我们这是一个Rabbit,直接上网站吧
https://www.sojson.com/encrypt_rabbit.html

最后得出明文Cute_Rabbit然后使用flag{}包住最后可以得到flag{Cute_Rabbit}

篱笆墙的影子

下载下来的内容felhaagv{ewtehtehfilnakgw}
开始我以为是凯撒密码加密的,可是解密的时候是根本解密不出来,后面查阅资料发现这是一个栅栏加密方式啊(~ ̄▽ ̄)~
https://www.qqxiuzi.cn/bianma/zhalanmima.php
每组字数就选择常用的13

最后得出flag:flag{wethinkwehavetheflag}

丢失的MD5

讲真的这道题目我有点迷,这是一个python文件,我电脑的环境是python文件双击就可以执行的那种
我不小心双击了一下然后就出现了这么一幕

我第一反应是觉得事情没这么简单,研究了好久的代码发现也没什么异常的

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print des

大概就弄3个随机整数,然后加上固定的几个字符进行MD5加密后判断该md5值是否包含e9032,da,911513,如果包含就打印md5,我现在还是不知道这位出题大哥是怎么想的,这不明摆着运行一下就会出flag嘛QAQ,使用flag{}包住e9032994dabac08080091151380478a2即可提交

老文盲了

题目给出的内容罼雧締眔擴灝淛匶襫黼瀬鎶軄鶛驕鳓哵眔鞹鰝只不过是繁体字,用翻译里面的朗读即可得到flag
https://translate.google.com/
其实这道题我建议大家自己去解密的,这样会有别样的喜感的
flag:flag{淛匶襫黼瀬鎶軄鶛驕鳓哵}


暂无评论

发表评论