BUUCTF:https://buuoj.cn/challenges
题目描述:
得到的 flag 请包上 flag{} 提交。来源:https://github.com/hebtuerror404/CTF_competition_warehouse_2018
密文:
下载附件,得到一个.txt文件。
解题思路:
1、用浏览器搜索“caesar”,发现是“凯撒”的意思,再看题目描述,感觉是凯撒加密。
2、使用Python脚本或者工具,对题目描述进行解密,下面提供一个Python脚本。
描述:gmbhjtdbftbs
def decrypt(ciphertext, shift):
"""移位解密函数"""
plaintext = ''
for char in ciphertext:
if char.isalpha(): # 如果是字母,进行移位解密
if char.isupper():
plaintext += chr((ord(char) - shift - 65) % 26 + 65) # 大写字母移位解密
else:
plaintext += chr((ord(char) - shift - 97) % 26 + 97) # 小写字母移位解密
else: # 如果不是字母,直接输出
plaintext += char
return plaintext
# 加密密文和移位数
ciphertext = 'gmbhjtdbftbs'
shift = 3
ciphertext = ciphertext.lower()
# 小写易于观察
# 枚举所有可能的移位数,输出所有解密结果
for i in range(26):
plaintext = decrypt(ciphertext, i)
print("%d %s"% (i, plaintext))
运行脚本,找到有意义的文本,就是flag值。
flag:
flag{flagiscaesar}