一点点积累一下 CTF 中 crypto 密码类的题型。
感谢 BugKu 提供了很多加解密工具,链接:http://tool.bugku.com/
感谢 SSL在线工具网址提供了很多工具,链接:http://www.ssleye.com/
我常用的 text bin hex base64 dec 转码工具:https://conv.darkbyte.ru/
1. 摩斯密码
特征:点和横的组合。
在线工具:http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx 或 http://tool.bugku.com/mosi/
e.g.
-... -.- -.-. - ..-. -- .. ... -.-.
解密结果:BKCTFMISC
2. 栅栏密码
特征:大小写和字符,其实就是分组替换加密
在线工具:http://tool.bugku.com/jiemi/
e.g.
一只小羊翻过了2个栅栏
KYsd3js2E{a2jda}
解密结果:KEY{sad23jjdsa2}
3. Ook 密码
特征:Brainfuck 类型密码,密文由 Ook 和 三种标点 . ! ? 构成,不见得都得用上,有的是Ook,有的没有Ook只有标点。
在线工具:https://tool.bugku.com/brainfuck/
例子就不举了
4. Brainfuck 密码
特征: + - [ ] { } . < > 这些符号构成的密码
在线工具:http://tool.bugku.com/mosi/
e.g.
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++[- >---< ]>--- .---- .<+++ ++++[ ->--- ----<
]>--- ----- ----- .<+++ ++++[ ->+++ ++++< ]>+++ ++.<+ +++++ +[->- -----
-<]>. <++++ ++++[ ->+++ +++++ <]>++ .<+++ [->-- -<]>- ----. <++++ +++[-
>---- ---<] >---- ----. +++++ +..++ +++.+ .<+++ [->-- -<]>- --.<+ +++++
+[->+ +++++ +<]>+ ++.++ +.+++ +++++ +.--- -.+++ ++.<+ ++[-> +++<] >++++
++.<
解密结果: flag{ok-c2tf-3389-admin}
5. 凯撒密码:
特征:英文字母排序往后延,密钥是 1 <= k <= 26,y = x + k;
在线工具:http://tool.bugku.com/jiemi/ 或者 CrypTool
e.g.
密文: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}
放在CrypTool 里跑一下就好了,或者 1 - 25 整个都算一遍,找个明文出来:
SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}
6. Base64 编码 及其混合
特征:看到密文最后两个字符是相同的,就有可能是Base64编码过的,因为Base64编码结尾通常是 ==
有可能和其他密码混合使用,进行二次加密/编码。
Base64 是编码(encode),不是加密(encrypt)
在线工具:这道题python简单点,还有一个解码工具平时用的也多: https://conv.darkbyte.ru/
e.g.
也是Bugku里的一道题:
e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA
结尾是 AA,有点像Base64编码,但是被加密过了,这么蠢的加密方式又有点像凯撒,看ASC II 码,发现 = 是 61, A是 65,往后延了4位,那么我们把密文所有数据的ASC II 码 减4,得到Base64的代码,再解码即得到明文flag: key{68743000650173230e4a58ee153c68e8}
Python 代码: