BUUCTF ---> Encrypto

发布时间:2024年01月11日

转眼就一月十号了,本来今天不想更的,(因为我懒)是因为明天要考python,好像还不止

????????

但是呢,发现BUUCTF的密码学模块刚好可以用到py的脚本,那就当时复习一下吧!!

这里就要介绍BUUCTF了,这里有CTF的各种题型,供我们练手哦 !! ~~

1.Base64编码

这个一眼就解密,嘶~~~~,感觉我盯好一会也没看出来,不对再看多一眼

有个 =号,就能立刻想起base家族啦,于是就去找base64解一下码

就出来啦,First flag? ?😍😍😍😍

flag{THE_FLAG_OF_THIS_STRING}

2.MD5

这题直接告诉我们是MD5解密,那就直接去找一个md5的解密就好了~!!!

解出的flag如下 :

flag{admin1}

3.URL编码

像这题就没什么好说的了,就是直接url编码,找个工具解码就行

flag{and 1=1}

4.凯撒密码

这题我们可以拿到如下题目,想到刚好提交的模式就是以flag{}提交

synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}

而且,!!!!!,它是不是没有加密{},什么密码会不加密{}???,不就是大名鼎鼎的凯撒密码嘛!!

知道凯撒密码之后,我们就要判断它往后推了几位了 f ->s 可以算出来是13位 那复原的数就是-13

成功又拿下一个flag

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

5.莫斯密码

看到这种题目,有什么想法??

想啥,不就是莫斯密码呗

? BYD还挺浪漫🤣🤣🤣

flag{ILOVEYOU}

6.?????

当时看到这个,我也没思路,但是看到他的key的格式,再去数了一下x ,刚好有10个,那不就是组合吗 19900315张三 or 张三19900315,但是提交都是不对的,于是就试了一下首字母

flag{zs19900315}

7. ASCII码

这题算的上是一个很好的题目了,很锻炼思维,还很靠积累

这题虽然说是”变异凯撒“但是怎么变,还是要自己去找规律

这时候就能看到一个?^,反应过来,这不就是ASCII编码吗,而且ascii会把{也编码,于是就兴奋地去凯撒解密,就拿5去解码

发现好像不太对???

但是,第一个字母是F证明了还没有完全错,再观察 f->l 相差6??Z->a 相差7 看出来啦吧,他是按照ascii码递增地规律的!!那就写个脚本吧(用python)

a="afZ_r9VYfScOeO_UL^RWUc"
auto_increase=5
for sample in a:
    print("%s"%(chr(ord(sample)+auto_increase)),end="")
    auto_increase+=1

这样就能解出flag了,有没有感受它的趣味,hhhh

flag{Caesar_variation}

8.Quoted-printable

这个就是一种加密方式,丢去工具就好不多说

flag{那你也很棒哦} ///hhha 有点绷不住了

????????????????????????????????

9.Rabbit编码

这个也是一种加密方式,也不多说

flag{Cute_Rabbit}

10.栅栏密码

看题? felhaagv{ewtehtehfilnakgw}? 隐隐约约能看见flag的字眼 但是参杂了一些其他的字眼,将他们剔除出来就能找到规律了?

???????? 按照一个不拿出来,下一个拿出来的规律,再进行拼接

flag{wethinkwehavetheflag}  //这就是大名鼎鼎的栅栏密码

11.RSA!!!!

开始之前想让我啰嗦两句,rsa作为CTF中最常见的题目,SSH的依靠算法,其可谓是老朋友了,这题的rsa只能算是一个基础?

rsa的计算原理我就不多说了,这里我们之直接提供他的计算过程?

就是(17*d)%(473398607160*4511490)=1,如果你用py进行普通的跑,就会发现根本跑不出来因为数据太大了!!!!!

所以就要用到gmpy2 这个库,至原理是什么,不用管,只要知道invert可以求逆模(就算很大的数!!!!!!!)

flag{125631357777427553}

当然了,rsa还不止这些,还有对信息的幂次方加密的,到时候我们遇到再讲(不是我懒

12.MD5的py文件补全

一打开就是一堆报错,先把最基本的补全一下,然后就会发现这个报错

查找发现原来要先对其编码

m.update("'TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM'".encode("UTF-8"))

但是!!!!编码完之后????? 我flag呢????

但是我们再来细看一下?'TASC'+chr(i)+'O3RJMV'......虽然经过编码不报错了,但是如果直接再他们外面加上”“??是不是chr(i)就根本没有起到字符转换的功能, 所以bug就在这里!!!

这样,就能让 chr(i,j,k)发挥作用之后在进行编码了

flag{e9032994dabac08080091151380478a2}

这样就能成功拿到flag了

以上就是BUUCTF的密码学的前十二关了,做的时候我脑子里只有一个想法”我flag呢???

hhh,写完这篇还要去复习😭😭不然明天真得挂科wuwuuwuu~~~~

?????????????????? ? ? ? ? ?保命Flag{我不想挂科}? ? ? ? ? ? ? ??

文章来源:https://blog.csdn.net/huohaowen/article/details/135512799
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。