引言: 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
第一题:
题目给出提示:“滴答~滴”,再根据密码形式可知为简单的摩尔斯电码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。
第二题:
题目给出提示:“2个栅栏”,密码中隐约可见:“K,E,Y”等标志性字符,可知为简单2栏栅栏密码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。
第三题:
题目给出提示:“ok”,再根据密码形式为Ook加一个字符,可知为Ook!密码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。在这里给出一个在线的Ook!和brainfuck的在线加密解密网址:https://www.splitbrain.org/services/ook
第四题:
题目附录:
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++[- >---< ]>--- .---- .<+++ ++++[ ->--- ----<
]>--- ----- ----- .<+++ ++++[ ->+++ ++++< ]>+++ ++.<+ +++++ +[->- -----
-<]>. <++++ ++++[ ->+++ +++++ <]>++ .<+++ [->-- -<]>- ----. <++++ +++[-
>---- ---<] >---- ----. +++++ +..++ +++.+ .<+++ [->-- -<]>- --.<+ +++++
+[->+ +++++ +<]>+ ++.++ +.+++ +++++ +.--- -.+++ ++.<+ ++[-> +++<] >++++
++.<
根据密码形式可知为brainfuck编码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。在这里给出一个在线的Ook!和brainfuck的在线加密解密网址:https://www.splitbrain.org/services/ook
第五题:
根据密码形式为01,初步推测为二进制加密的其他密码,经过进制转换发现密文杂乱无章,仔细一看发现“0010 0100 01 110”正好对应摩尔斯电码中“..-. .-.. .- --.”即“FLAG”。明显是用“0”替换“.”,用“1”替换“-”,知道加密方式后替换摩尔斯的加密方法,也可以通过写脚本来解密(更方便)。python代码参考:
得到密文:FLAG%u7bM0RSE_CODE_1S_INTEREST1N9!%u7d 为确保flag提交的严谨性,将其进行url解码,得到准确的flag:
第六题:
拿到密码,首先想到的是换位密码或凯撒密码,但经多伦测试后无果,开始逐位分析。在密码的后两位,有明显的“AA”,让人联想到Base64加密的结尾“==”,而“A”的Ascll码值和“=”差4位,经过位移得到:“a2V5ezY4NzQzMDAwNjUwMTczMjMwZTRhNThlZTE1M2M2OGU4fQ==”明显的Base64编码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。
第七题:
根据题目提示:“216534”可知密码为简单换位密码(凯撒换位密码),直接根据规则,复制翻译,并按照要求更换格式,flag获取并成功提交。
第八题:
密文:MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}
根据题目提示,知道此密码为简单凯撒密码,但是题目为给出参数,即偏移量为给出。所以选择TEST_ALL暴力破解:
可见偏移量为+6时出现一句接近自然语言的明文,直接复制翻译,并按照要求更换格式,flag获取并成功提交。
第九题:
密文链接:https://ctf.bugku.com/files/39488475fd87c064f9401eec2299c03e/1.txt
此题难度相对较大,需要对各种密码的形式和加密方式有了解,下面开始逐步拆解密码。
<1:根据题目提示,直接将文本进行base64解码:
得到有分隔符的0-7数字,即8进制格式。
<2:用Unescape解码为16进制,密文开始变得有序
<3:将16进制转为Ascall编码:
<4:用Unescape解码为10进制
<5:将输出框中的函数的参数(括号以内),转换成Ascll编码:
<6:根据输出中的“&#”知道此密文为html编码,进行html解码(越来越短了,胜券在握!!!):
<7:根据输出中的“&#”知道此密文为html编码,再次进行html解码:
<8:已经看到了flag,但是为了严谨性,对“%7D”字符进行URL解码
至此flag获取并成功提交!!!耐心并一步步分析密文,最终答案一定会浮现。
第十题:
根据密码形式可知为Ook!编码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。在这里给出一个在线的Ook!和brainfuck的在线加密解密网址:https://www.splitbrain.org/services/ook
第十一题:
根据密码形式可知为brainfuck编码,直接复制翻译,并按照要求更换格式,flag获取并成功提交。在这里给出一个在线的Ook!和brainfuck的在线加密解密网址:https://www.splitbrain.org/services/ook
第十二题:
拿到题目,发现无从下手,开始对密文进行逐位分析:
gndk的10进制的ASCII码分别是:103 110 100 107
flag的10进制的ASCII码分别是 :102 108 97 103
依次-1,-2,-3,-4,-。。。
这样就很简单了,我们只需写一个脚本让他输出就可以了,这里笔者用的python:
直接复制并按照要求更换格式,flag获取并成功提交。
至此,前12道题(100分值以内)的题,8-bit战队已经全部解析完毕
欲知后事如何,请听下回分解