8月10日学习打卡

8月10日学习打卡

 

XCTF(攻防世界) Misc

题目:

签到题

描述中出现了SSCTF和一串(Z2dRQ....==)字符,没有附件,初步判断,是一个解密题

Z2dRQ....==以“=”结尾,有A-Z和数字,且字符长度可以被4整除,很有可能是base64,当然也有可能是base32等等,但首先肯定是试试base64

因为base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充,而且比较常见

解密前:Z2dRQGdRMWZxaDBvaHRqcHRfc3d7Z2ZoZ3MjfQ==

解密后:ggQ@gQ1fqh0ohtjpt_sw{gfhgs#}

从解密后的字符中可以看出,已经出现“ { ”和“ } ”,但很明显,“ { ”在错误的位置上

因此,可以想到换位密码,观察“ { ”和“ } ”距离很近,并且最后一个字符是“ } ”,所以很有可能是栅栏密码

联系之前的关键字 SSCTF,flag的格式很有可能是:SSCTF{...}

但在解密过后的字符中没有字符“C”,很有可能还要进行置换算法解密,所以这次解密后的字符格式:xxxxx{.....},x代表一个任意字符

根据栅栏密码的规律,要将密文解密,需要将密文按每一组为n个字符的组划分,因为整个字符串有28个字符,有2*14,4*7的解法

“ { ”与“ } ”相隔多个字符,很明显不是2*14,那么只有4*7,那么以每组7个字符为标准,解密得到了预期的结果

解密前:ggQ@gQ1fqh0ohtjpt_sw{gfhgs#}

解密后:ggqht{ggQht_gsQ10jsf#@fopwh}

得到预期后,首先会想到置换密码,最简单的置换便是凯撒,而且根据关键字ssctf,刚好可以对应ggqht

s与g相差14位,c与q相差14位,所以用凯撒密码,向前位移14位

解密前:ggqht{ggQht_gsQ10jsf#@fopwh}

解密后:ssctf{ssCtf_seC10ver#@rabit}

得到了我们预期的结果,提交后确认是正确的,说明思路正确

flag:ssctf{ssCtf_seC10ver#@rabit}

这道题,综合了base64,凯撒密码,栅栏密码,结合了置换,换位等知识,是一道较综合的题目,分数4

posted @ 2020-08-10 17:27  LiLIG  阅读(181)  评论(0编辑  收藏  举报