Catf1agCTF——Crypto(刷题记录片)

网址:Catf1agCTF - 综合训练平台


目录

一、BASE

1.第16把贝斯

2.第32把贝斯

3.第64把贝斯

4.Emoji

5.给你点表情 

6.secure

二、编码/解码

1.统一资源定位符

2.社会主义核心价值观

3.js法克 

4.brain法克 

5.okok!!!

6.bulubulu

7.mdfive

8.这看着好像md5哦?但是...

 三、古典密码学

1.滴滴答答

2.羊咩咩跳栅栏

3.caeser

4.这是二进制?

5.宇宙的密码

四、RSA

1.RSA-1

2.RSA-2(暂无解)

3.RSA-3

五、脑洞题

1.神秘的坐标

2.倪九岚 

3.XOR 

 4.疑惑


一、BASE

1.第16把贝斯

描 述:
636174663161677B77656C636F6D655F746F5F636174663161675F212121746869735F69735F6261736531365F2121217D

WP:catf1ag{welcome_to_catf1ag_!!!this_is_base16_!!!}

解析:使用Base16解码又称十六进制编码,只含有0~9,A~F,4b为一组编码

2.第32把贝斯

描 述:
MNQXIZRRMFTXW53FNRRW63LFL52G6X3DMF2GMMLBM5PSCIJBORUGS427NFZV6YTBONSTGMS7EEQSC7I=

WP:catf1ag{welcome_to_catf1ag_!!!this_is_base32_!!!}

解析:使用Base32解码只含有2~7,A~Z。5b为一组编码,低位不足5b用0补,总位数不足40倍数用“=”补

3.第64把贝斯

描 述:Y2F0ZjFhZ3t3ZWxjb21lX3RvX2NhdGYxYWdfISEhdGhpc19pc19iYXNlNjRfISEhfQ==

WP:catf1ag{welcome_to_catf1ag_!!!this_is_base64_!!!}

解析:使用Base64解码A ~ Z,a ~ z,0~9,+,/。6b为一组编码,低位不足5b用0补,总位数不足24倍数用“=”补

4.Emoji

描 述:题目地址:http://file.catf1ag.cn/CRYPTO/emoji.zip,flag格式:catf1ag{}(flag全小写) 

 WP:catf1ag{f80ir3cahpgeozl9nx5ysu76tk2m4b}

解析:Base100 数据加密后均为表情包

5.给你点表情 

描 述:题目地址:http://file.catf1ag.cn/CRYPTO/emoji.txt  ,flag格式:catf1ag{}(全小写)

WP:catf1ag{f80ir3cahpgeozl9nx5ysu76tk2m4b}

 解析:跳转该网址为乱码

将这个txt文件下载下来,打开后里面内容为题4.Emoji中内容,之后的步骤方法同上。

6.secure

描 述:题目文件下载:http://file.catf1ag.cn/CRYPTO/secret.zip,请将得到的flag转换成catf1ag{}提交!!!

WP:catf1ag{random_base_base}

思路:题目中的其中一个文件提示使用ciphey,尝试将不属于Base(0~9,A~Z,a~z,=,/,+)的字符剔除,放入ciphey中求解,没有得到结果。

解析:之前按照文件中提示使用ciphey,没有得到结果。后来在写web题时,了解到一个工具basecrack(附上windows版本安装教程链接)

N?A5nQ!`6gNi{@8M@majN;O4SS4&J#OF~psPf{{LN?KP{K}$?iN;O4PMN&gHN?A5nK~FP7OG-{dOEOGNN?A2kHdRAOOHDFYQ#CU(N?A5nQ(7`sN;EZCM>aD;N>)KfGFn42OHDFVQCCbdN;O4QLswK;N>)fzQBO-!N?A5kQCdV!N>)fiO-fWxN;O4QLrY9lN;EZAMM*MMN?A5nQ(8n!N;O4PQ%h4<N;OqRLsLviN;EZBS6WnBN?A5nK{hj1N>)%tRZmM#N?A8mRWn3NN;EZBMK(f2N?A5oS58bwOG;5!Lr+RGN?KP}O;a;iN>)%qM_N)&N?A5kQCUk^OHMRZOHxucN;O4PMN&dVNi{=LS4>PsN?KP{K}t$VN?KP{G*(11N;O4DQBy=!N?KP(RZ&z;N?KJ|Sy4+>N>)fjGB-m|N?KP|Pgz4ZN;EZBLrYXcN>)KfGF4PfOG;5yQ8z+NN?KP}O)^SHN>)fjHc?VXN?A5kQCc!uOGQ*jO)^3@N;O4DQBOouN;EZBMK?-9N>)KfGFePeOGQ*jO-nN~N;O4SS4&DqN>)fnO*c|TN?KJ|Sy4+>N>)fnOG`3MN;O1NGB!+5N;EZBLrYXfN;O4AOEWW8OG;5yQ8z+MN?KP{K}kwUNi<eRNm5HmN?KJ|SyW3(OGZLSLrz3hN;O4SS2avBOHMRZG*n7fN>)KfGE!4hOHDFUGEGcKN;O4SS4v7nOGQ&yRZ?0tN;O4QLrF?WOG;5zMNL{ZN;O4PMN&jTN;O4AGEXy2N>)KfGFL=TOG;5xQBYb+N?KP{L0L0eOF~pcS5Q+@N?A5nK}u6vN;EZ7Nl`*HN;O4AG*3iWOG-{eHcd)YN?A5oS4~t`OF~puQA|uzN;O4QLo!TEN>)fiQBF)xN?KP}O<Gb$N>)%vS58bwN?A5YG+0zkN;EZAMM*P8N?A5nK~FPMOHMRZNl-#HN;O4QLs>IgN;O4AOIAWlN?A5nK~FP6N>)%tRX0>wN?A8mRWn2~OGZLNRZ&DrN?A5kQCc!uOF~ptO*czfN;O4AGBz_qOG;5xQ8Y?5N?A5oS58bwOG;5zK~PLbN;O4SS4m7wN;EZCM>aD@N?A5nQ%N&ZOHDFVS5i_+N?KP}O<7t+N>)KcG+0zJN?A5kQBzA&N;EZAM^QpfN?A8mRZL1sOGQ*hOEgR~N?A5nK}j-MN;O4PQ%h7vN?A5nK}%FoOG-{iG)pryN?A5kQCdV!N>)f!QA$)vN;O1NGBZn8N;O4QLpDN7N?A5nQ%Y1sOHDFYL0DQhN?KP|O)^tYN>W-#Ls~ONN?A5nQ!`6gNi<eQO;k)sN;O4SS2avBOHMRaO-e*sN?A5nQ(8k+OGQ*iSu-<CN;O4SS4v7oN>)fjHc?VWN?KP}O<Gb#N>)%rS5#C~N?KP%QCCA&N;O4DQCCt$N?KP)MK(-OOG-{eG+InUN;O4DQBq7*Ni{@7M^8dmN?A8XPfb)(N>)f!Q&vP-N?A8mRZL1sNi<eROI0&SN?KP)MKm){N>)%vM^{u)N;O4SS4&DpNi<eRGE7S{N?A8UQ(0O<N>)%tRW?jUN?A5nQ#3?SN?KP{GFn7JN?KP)MNczCOG;5xQBYblN;O4SS4>JtN>)%qLse5UN?A8XPf=7xN>)%qGB;FBN?A8mMO9i!N;O48Q8YtLN?KP{K{8BCN>)%vM^;)!N;O4SS4v7nNi<eRNlHseN;N}RL03yMN>)%uQ&Lk+N;O1NGBs3CN;EZBS4vD;N?KP%Q8iRUOF~psPf}V&N?KP}O<Gb#Ni<eRNm5EtN?A5nQ&&VtN>)fiO<FTUN;O1NGBQ+4N;O48Q%XukN?A5YOHeXROHDFVS5i_+N?KP`OHEWoOG-{iGBrzBN?A5kQCUn+N>)%vS2R>uN;O4SS4&DqN?KP{OH@=<N>)KfGE_2FOHDFZM@?EwN;O4QLswK;N;O4PK}j=9N?KJ|Sy4+yOG-{eG)h8CN;O1QRWejhOHDFULozc{N>)KgG&W3BOF~puQ%+h*N>)KfGE_uNN>)fjG&4(DN;O4QLo+i?OHDFYQ#V3RN;OqgNj6MRN;EZ9RWm|HN?KP)MKx4UOG-{iG)r1FN;O4DQByNmN;EZBMK?+}N?A5nQ%Y1sN;EZ7Nl`>sN;O4AGBz_rN;O48Q8YwCN?KP)MKm){N>)%qM@dRGN>)KfGE_uLN;O4DQ8q+WN?A5nK{r%JN>)%qGFL-VN?A8mRWwvhN;EZBMK(f3N;O4AGBz_qOF~puQ&&t{N?KP}O;$uQN>W-#Ls~OfN?A5kQB*QiOF~pgSxibvN;N}RK~geBOGZLSQ&TfcN?KP%Q8Y7AN?KP|Pgz1YN>)KfGE_rVOGQ&yRZ?0tN?A5nK{r%IN>)fzK~qFlN;O4SS4&J#N;EZ7Nl`*cN;O1NGEh`SOGQ*iGD<=;N?KP}O;a;iN>)KcG+0tXN?A5nQ!`6gN;EZ7Nl;2jN?A8UQ!_$FOGQ*iNl{EtN?A5YO;S`#OGQ*iGFnPAN?A5nK~PjfN;O4ANm5f<N?A5nK{hi~N>)fnG)*#3N?A8mRZ2`yN;O4QLpDTON?A5nK}u6vOHDIGOI1=#N;O4DQB+h|Ni{=NPc}nPN?A5nQ!-RcN>)f!Q%+1zN;O4QLrY9lN>)%tRZmPrN;OqgNj5W8N<vdcLo!QBN;N}RK~geAN>)fnG&D0(N?A5oS4~t$OHDFYK{rB5N>)%rS4~t!N;EZCM>aD;N?A5oS58bwOG;5xQBYbnN;O4SS4m1mN>W-^M^G|PN?A5oS4~t_N>)%rS5#C{N;O4QLrY9lN?KP{OH@=<N?KP`Nmx`<N;O4AK}<?SN?KP}O;t=;Ni{@8GFMAlN?A8UQ&}@wN>)fjGB-m`N?A5YG+0zkN?KP{NmoQgN?KP)MK()XOF~pfS2ILYN?KP}O<Gb$N>)%qLse2zN?KJ^S5rb(OHDFYK{rB1N;O4CHc(7jN?KP{G)_!LN?KP{K}t$WN;O4QLpMxUN;O4QLo!TEN;O4AOIAWhN;OqOLp4-FN>)%uQ&Lk+N;O4SS2avBN;EZAMM*MPN;O4AG)_!bOHDFVS5i_oN;O4QLrF?XN>)fzQBO-rN?A5oS5Z_-N;EZ7Ni<YTN?A8UQ!_$EN>)fjHc?bnN?A8UQ!_J9OHDFZS5!hbN;N}RK~geBN;EZAM^QpGN?KP}O<7t+N>)%qLse5$N?A5nQ(8k+N;EZAMM*P9N>)KfGEp-~OG;5xQBYb+N?KP{K}kwUNi<bcS5ZVtN?A5jGEP%hOHDFYK{rB4N?A8mRWn3dOHMRZGB-j=N?A5nK}u6vN<vddLt0BRN;O4AGFVhnOG-{iG*nDbN;O4QLrF?WOG;5zMNL{ZN;O4PMN&jTN?KP{OH@=cN?KP)MK(-OOG-{iG%`X=N;O4QLo!N2N>W-#Ls~OeN?A5nK~FP6OF~pgSxih<N;O4AG*3iUN>)fjGB-n7N?A8UQ&vPsN<vddLt0BzN?A8XPftWuOG-{eG+IhCN?A5nK{hi~N>)fjG*2^1N?A5nQ!`9XN;EZAMM*P5N>)KfGE_uMOHMRZNl-#GN;O4SS4&DpNi<eSO;t-oN?A5kQC3S<OHDFYQ#D#PN;O4SS6M<!OGQ*hOI2D*N>)KfGEp*8OF~puQA|urN;O4QLo!TDOG;5xQ8Y?5N?A5oS58bwOHDFULozd2N>)%rS5HJpN;O48Q(96&N;O4AOEWW8OHDFZS5!hbN;O4QLo-@MN>)%uQ&Lk>N?A5nQ&~$?N;EZAM^QpfN?A8mMO9i#N;EZBMK(lPN?A5YO;S`#OF~puQByNQN?A8XPftWuOG-{iGBrzDN?A8UQ!`pdOHDFUGEiDcN;O1NGBs3CN;O4QLpDN7N?A5nQ%h7uOGQ*eO;B1+N;O4QLrO|ZN>)%vS2R*JN?A5nQ!-RcN>)f!Q%+1#N;O4SS2avBN?KP`NmWx+N;OqgNj6JZNi{@7M^8gWN;OqgNj6MPN;O48Q8YwFN?KJ|SyDqtN>)%vM^RKzN;O1NGBiV2N;O4AK{G@$N;O4AGFVhnOGQ*iNi|wdN;O4SS2s#bNi<ePSxr(^N?A8XPfb)(N>)%rS5#C_N;O4PMN&dWOGZLSQ&TcpN?KP%QC3V#N>)%vM^{u)N;N}RK~h6gNi<eQOHV^aN?A2kHd9kpN>)fnG)*#3N?A5nQ#3?SN?KP{NmoQfN?A5nQ%Y1+OG;5zMNL{vN;O4PK}u6nN>)%qLse8oN?A5kQBzA&N;O4DQBhP$N?A8mRW?FKN;O48Q(9D4N?KP{K{8BCN;O4QLpMrBN;O4QLo-B7N;EZBSx!V*N;OqOLo_m3N>)fnG&D0sN;O4SS4v7oN;EZBRZvt!N?A5oS58b=OG;5xQ8Y|NN?KP}O<Gb$OF~psPf{{BN?A5oS58bwOHMRbHd;eBN;O1QRWejhOF~psPf}V-N?KP)MK&`>OF~puQ%+h*N;OqRLsLsrN;EZAM^QvpN?KJ|Sy4+@N>)%vS2R>uN;OqgNlR2hN;EZ9Q#DjYN?KP%Q8YwROG-{dO*L9YN;O4DQByNmN>)fnOG`3JN?A5nQ(7`sNi{@8NlrsjN;O4SS2R>vNi{-OOG;8i

cmd:

\basecrack-master>python3 basecrack.py

已知不停的使用这个工具即可出结果(将上一步输出做下一步的输入),大概需要重复十五六次。


二、编码/解码

1.统一资源定位符

描述:catf1ag%7B%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E5%AE%9A%E4%BD%8D%E7%AC%A6%E7%BC%96%E7%A0%81%7D 

WP:catf1ag{统一资源定位符编码}

解析:使用URL解码(%)        工具——HackBar自带的解法工具

2.社会主义核心价值观

描 述:
公正和谐公正民主法治自由公正公正和谐民主公正民主公正法治法治友善平等法治和谐公正爱国法治诚信富强法治敬业公正爱国法治爱国公正友善自由法治友善自由公正法治法治友善法治 

WP:catf1ag{shzyhxjzg}

解析:社会主义核心价值观加密计算器

3.js法克 

描 述:题目地址:http://file.catf1ag.cn/CRYPTO/jsfuck.txt

WP:catf1ag{getflaginjsfuck}

解析:JSFuck也成为Jother编码打开文件由 [ ]( )! 组成,可直接在控制台中调试输出。使用alert()函数将文本内容包裹,代码通过该函数进行弹窗解析。

4.brain法克 

 描 述:题目地址:http://file.catf1ag.cn/CRYPTO/brain.txt

WP:catf1ag{getflaginbrainfuck}

解析:使用BrainFuck解码

5.okok!!!

描 述:题目地址:http://file.catf1ag.cn/CRYPTO/okok.txt

WP:catf1ag{getflaginokokok}

解析:使用Ook解码

6.bulubulu

描 述:密文:ximok-cutak-kysyk-cunul-rimal-hyrul-hamil-heral-humol-horol-himil-hyril-hamuk-zezux

WP:catf1ag{bulubulubulubulubo}

解析:使用BubbleBabble解码

7.mdfive

描述:小cat在做局域网监听的时候,截取到了一段疑似密码的东西,请帮帮他解密出来!!!密文:a66abb5684c45962d887564f08346e8d

WP:catf1ag{admin123456}

解析:使用MD5解码只含有0~9,a~f)根据加密特点,可能存在连续的数字或字母

8.这看着好像md5哦?但是...

描 述:密文:bc1l77a7ap9c7df69c248647bq4dfc6fd84

WP:catf1ag{666666666666}

解析:删除不属于0~9,a~f的字符,再使用MD5解码


 三、古典密码学

1.滴滴答答

描 述:
-.-. .- - ..-. .---- .- --. ----.-- - .... .. ... .. ... -- --- .-. ... . . -. -.-. --- -.. . -----.- flag全小写

WP:catf1ag{thisismorseencode}

解析:摩斯密码

2.羊咩咩跳栅栏

 描 述:密文:22120219,解密出来的结果应该是某年某月某日,flag格式:catf1ag{}

WP:catf1ag{20221129}

解析:栅栏密码解密

3.caeser

描 述:密文:nleq1lr{rpe_qwlr_ty_espcp_!!!},flag全小写

WP:nleq1lr{rpe_qwlr_ty_espcp_!!!}

解析:凯撒密码解密

4.这是二进制?

描 述:密文:11212121221111111221111111111111112111121111111112 flag格式:catf1ag{}(全小写) 

WP:catf1ag{flagaabbab}

解析:先将1换成A,2换成B,再使用培根解密(培根编码方式有两种,绝大多数情况下使用26位字母都不同的方式编码)

(一开始将密文转换成01进制,再解密失败,尝试使用培根的解密方式)

5.宇宙的密码

描 述:附件地址:http://file.catf1ag.cn/CRYPTO/%E6%B5%A9%E7%80%9A%E7%9A%84%E5%AE%87%E5%AE%99.zip,,flag格式:catf1ag{}

WP:catf1ag{vfreezygs} 

解析:根据连接下载附件,对照银河密码表解密

四、RSA

1.RSA-1

描 述:题目文件下载:http://file.catf1ag.cn/CRYPTO/RSA-1.txt,请将得到的flag转换成catf1ag{}提交

WP:catf1ag{13cab41e7cd8a0d25376558cb51bb56e}

#ndc的值从题目中粘贴(过长就没写在这)
import libnum
n=
d=
e=65537
c=
m=pow(c,d,n)
print(m)

解析:RSA。计算出m后转换成十六进制,再转换成文本

2.RSA-2(暂无解)

描 述:题目文件下载:http://file.catf1ag.cn/CRYPTO/RSA-2.txt 

WP:

3.RSA-3

描 述:题目下载地址:http://file.catf1ag.cn/CRYPTO/rsa-3.txt

WP:catf1ag{949a1445-ae8f-4258-8680-c1a6e2d05e92}

import gmpy2
import libnum
n1= 183469842288888698417653802680141427113
c1= 164902072322430301806156830767158214618
n2= 132129814650346877352056990357711290601
c2= 72639976324405495408757557698962328431
n3= 231012220957834183374915196020656181347
c3= 43776935818299645885303359439033653256
def GCRT(mi, ai):
    # mi,ai分别表示模数和取模后的值,都为列表结构
    assert (isinstance(mi, list) and isinstance(ai, list))
    curm, cura = mi[0], ai[0]
    for (m, a) in zip(mi[1:], ai[1:]):
        d = gmpy2.gcd(curm, m)
        c = a - cura
        assert (c % d == 0) #不成立则不存在解
        K = c // d * gmpy2.invert(curm // d, m // d)
        cura += curm * K
        curm = curm * m // d
        cura %= curm
    return (cura % curm, curm)
C,N = GCRT([n1,n2,n3],[c1,c2,c3])
print(libnum.n2s(int(C)))

 解析:RSA。已知c1,c2,c3,n1,n2,n3。此处附上代码借鉴来源

五、脑洞题

1.神秘的坐标

描 述:28 13 16 35 19 14 21 23 33 19 19 14 23 18 36 21 15 13 22

WP:catf1ag{keyboradcoordinates}

解析: 一组数字代表一个键盘上字母,例如28,表示键盘第二行第八个即K。

2.倪九岚 

描 述:CRe{cg}nare1effhltpiaiac

WP:catf1ag{RailfenceCipher}

解析: 那道题首先尝试用栅栏,没得到答案。根据题目的谐音”逆九栏“尝试先将字符串逆序,再栅栏9解密。

3.XOR 

描 述:Flag格式:flag{}

出题师傅:且听风吟;题目下载地址:http://file.catf1ag.cn/CRYPTO/xor%20%281%29.txt     

WP:flag{b09fb04d-9f0b-476c-9643-38fe9c5c2b3b}

解析:根据题目已知该题为需使用异或,那么需要得到密钥与之异或。

#根据flag格式,求出密钥为"GAME"
密文 = '!-,"<#}|!#}q#lt#w#`qpw.h~wyvjru#"x.p$s/v%<'
flag = 'flag'
for j in range(len(flag)):
    for i in range(0,128):
        x=chr(ord(密文[j]) ^ i)
        if(x==flag[j]):
            print(chr(i))
            break
密文='!-,"<#}|!#}q#lt#w#`qpw.h~wyvjru#"x.p$s/v%<'
key='GAME'
result=''
for i in range(len(密文)):
    x=ord(密文[i])^ord(key[i%len(key)])
    result+=chr(x)
print(result)

 4.疑惑

描 述:题目下载地址:http://file.catf1ag.cn/nineak/crypto/%E7%96%91%E6%83%91.zip;

WP:catf1ag{nine-ak_match_is@very_easy_@/!}

解析:根据题目提示,且两个字符串长度相等,直接使用异或求解

key1='welcome_to_nine-ak_match_is_so_easy_!@!'
key2='20 4 24 5 94 12 2 36 26 6 49 11 68 15 14 114 12 10 43 14 9 43 10 27 31 31 22 45 10 48 58 4 18 10 38 31 14 97 92'
key2=key2.split()
result=''
for i in range(len(key1)):
    x=ord(key1[i])^int(key2[i])
    result+=chr(x)
print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值