BUUCTF ---> Encrypto

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

        

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

BUUCTF ---> Encrypto_第1张图片

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

1.Base64编码

BUUCTF ---> Encrypto_第2张图片

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

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

BUUCTF ---> Encrypto_第3张图片

就出来啦,First flag   

flag{THE_FLAG_OF_THIS_STRING}

2.MD5

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

BUUCTF ---> Encrypto_第4张图片

解出的flag如下 :

flag{admin1}

BUUCTF ---> Encrypto_第5张图片

3.URL编码

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

BUUCTF ---> Encrypto_第6张图片

flag{and 1=1}

4.凯撒密码

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

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

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

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

BUUCTF ---> Encrypto_第7张图片

成功又拿下一个flag

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

5.莫斯密码

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

BUUCTF ---> Encrypto_第8张图片

想啥,不就是莫斯密码呗

BUUCTF ---> Encrypto_第9张图片  BYD还挺浪漫

flag{ILOVEYOU}

6.?????

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

BUUCTF ---> Encrypto_第10张图片

flag{zs19900315}

BUUCTF ---> Encrypto_第11张图片

7. ASCII码

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

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

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

BUUCTF ---> Encrypto_第12张图片发现好像不太对???

但是,第一个字母是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 有点绷不住了

                                BUUCTF ---> Encrypto_第13张图片

9.Rabbit编码

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

flag{Cute_Rabbit}

10.栅栏密码

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

BUUCTF ---> Encrypto_第14张图片​​​​​​​  按照一个不拿出来,下一个拿出来的规律,再进行拼接

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

11.RSA!!!!

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

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

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

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

BUUCTF ---> Encrypto_第15张图片

flag{125631357777427553}

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

12.MD5的py文件补全

BUUCTF ---> Encrypto_第16张图片一打开就是一堆报错,先把最基本的补全一下,然后就会发现这个报错

BUUCTF ---> Encrypto_第17张图片

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

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

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

BUUCTF ---> Encrypto_第18张图片

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

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

flag{e9032994dabac08080091151380478a2}

这样就能成功拿到flag了

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

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

                 BUUCTF ---> Encrypto_第19张图片           保命Flag{我不想挂科}                BUUCTF ---> Encrypto_第20张图片

你可能感兴趣的:(安全)