【CTF】加密6——托马斯.杰斐逊+zip伪加密+告诉你个秘密
托马斯.杰斐逊
首先题目名字就给了我们很大启发。这是一道托马斯转轮密码。
首先我们根据**将这14组字符串重新排列:
<KPBELNACZDTRXMJQOYHGVSFUWI<
<IHFRLABEUOTSGJVDKCPMNZQWXY<
<ZWAXJGDLUBVIQHKYPNTCRMOSFE<
<BDMAIZVRNSJUWFHTEQGYXPLOCK<
<AMKGHIWPNYCJBFZDRUSLOQXVET<
<RPLNDVHGFCUKTEBSXQYIZMJWAO<
<QWATDSRFHENYVUBMCOIKZGJXPL<
<GWTHSPYBXIZULVKMRAFDCEONJQ<
<NOZUTWDCVRJLXKISEFAPMYGHBQ<
<XPHKZGJTDSENYVUBMLAOIRFCQW<
<WABMCXPLTDSRJQZGOIKFHENYVU<
<BMCSRFHLTDENQWAOXPYVUIKZGJ<
<XPLTDAOIKFZGHENYSRUBMCQWVJ<
<TDSWAYXPLVUBOIKZGJRFHENMCQ<
之后在按照密文将每一个“轮盘”旋转重新定义顺序:例:KPBELNACZDTRXMJQOYH(看这里)GVSFUWI-->HGVSFUWIKPBELNACZDTRXMJQOY
整理后得到新的字符串组:
<HGVSFUWIKPBELNACZDTRXMJQOY<
<CPMNZQWXYIHFRLABEUOTSGJVDK<
<BVIQHKYPNTCRMOSFEZWAXJGDLU<
<TEQGYXPLOCKBDMAIZVRNSJUWFH<
<SLOQXVETAMKGHIWPNYCJBFZDRU<
<XQYIZMJWAORPLNDVHGFCUKTEBS<
<WATDSRFHENYVUBMCOIKZGJXPLQ<
<CEONJQGWTHSPYBXIZULVKMRAFD<
<RJLXKISEFAPMYGHBQNOZUTWDCV<
<QWXPHKZGJTDSENYVUBMLAOIRFC<
<GOIKFHENYVUWABMCXPLTDSRJQZ<
<LTDENQWAOXPYVUIKZGJBMCSRFH<
<ENYSRUBMCQWVJXPLTDAOIKFZGH<
<SWAYXPLVUBOIKZGJRFHENMCQTD<
之后我们就会很容易发现bugku这样的字符串,按顺序全部找到(以标黑),应该就是flag了~
—————————————————————————————————————————————
zip伪加密
如题名,很简单直接,zip伪加密。通过上网查找,得知其16位编码中有一位专门负责验证是否是加密文件:
这里的:
数据区:
50 4B 03 04 是文件头标志;
14 00 是所需版本;
09 00 是否加密(奇数加密偶数不加密);
目录区:
50 4B 01 02 是文件头标志;
1F 00 是压缩版本
14 00 是解压版本
09 00 是否加密
也就是说是否加密取决于这两个记录的参数是多少。
所以将其更改,打开里面的文件即可得到flag~。
—————————————————————————————————————————————
告诉你个秘密
这道题相当鬼畜……
首先将这一串放进base64试一试,无果。
仔细观察发现这串字符英文字母最多到E,我们有理由怀疑是否是16进制,所以我们尝试将其16进制转换成Ascii码:cjV5RyBscDlJIEJqTSB0RmhC VDZ1aCB5N2lKIFFzWiBiaE0g
之后再尝试一遍base64,惊奇发现这么一串密文:r5yG lp9I BjM tFhBT6uh y7iJ QsZ bhM
观察发现这些被空格分成几组,并且每组有不等的字符组成。
重点来了:观察发现将每一组字符放到键盘上恰好将某一个字母包围起来,组合可得:tongyuan
得到flag~