一、看我回旋踢

拿到题目得到这么一个东西
synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}
观察“synt”这个东西,认为是凯撒密码
截屏2022-03-08 20.18.22.png
尝试了一下,更加肯定了这个想法,毕竟这是一道简单题。Crypto会有什么坏心思呢?
截屏2022-03-08 20.19.58.png
然而这并不正确。
百度到“synt”和“rot-13”有关系
使用http://www.rot13.de/index.php
解得flag为:
flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}


二、变异凯撒

拿到题目以为是维吉尼亚密码,但是并没有给出密钥。
所以抱着试试的心态尝试来暴力破解一下
截屏2022-03-08 20.44.59.png
得到的这个东西看上去没什么规律。一提交,果然错了。
既然题目说的很清楚,那么这个题还是逃不过凯撒密码。

一起来复习一下凯撒密码:

明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
那么这个题目中有下划线,那么肯定不能是根据字母表来转换的。
所以尝试通过ASCII表来试一试。
题目给了提示格式是”flag{}”。那么”afZ_”和”flag”之间必然有某种转换关系。

列出ASCII的转换关系

密文 明文 偏移量
a(97) f(102) +5
f(102) l(108) +6
Z(90) a(97) +7
_(95) g(103) +8

由此推断出密码与明文之间的偏移量是逐位加一的

生产python脚本

  1. Crypto = 'afZ_r9VYfScOeO_UL^RWUc'
  2. j = 5
  3. for i in Crypto:
  4. print( chr(ord(i) + j) , end = "")

运行得到flag
截屏2022-03-08 21.01.08.png
flag{Caesar_variation}


三、Quoted-printable

题目到手是一串带等号的十六位进制字符
=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6
尝试删掉等号再进行字符串转换,结果得到了一串乱码。
遂大失所望。
百度Quoted-printable
发现这是一种编码方式
截屏2022-03-08 21.14.29.png
于是利用在线工具进行解码
截屏2022-03-08 21.16.22.png

那你也很棒棒哦

中文flagflag{那你也很棒棒哦}