萌新-密码1 栅栏密码
密文:
53316C6B5A6A42684D3256695A44566A4E47526A4D5459774C5556375A6D49324D32566C4D4449354F4749345A6A526B4F48303D
提交格式:KEY{XXXXXXXXXXXXXX}
工具下载:tools.rar - 蓝奏云
工具里面提供了 栅栏密码加解密工具和16进制编辑器,再看下密码,可以猜测是16进制串
打开16进制编辑器,可以看到是010的汉化版,新建十六进制文件,Ctrl+Shift+v,就可以将密文导入了
得到密文为:
S1lkZjBhM2ViZDVjNGRjMTYwLUV7ZmI2M2VlMDI5OGI4ZjRkOH0=
看到最后的=号,猜测是base系列加密,先尝试base64,然后得到以下字符串
KYdf0a3ebd5c4dc160-E{fb63ee0298b8f4d8}
然后打开栅栏加解密工具,尝试解密
最终的flag:
KEY{dffb06a33eeeb0d259c84bd8cf146d08-}
参考链接:栅栏密码_百度百科
萌新-密码2 杂项
出题人已累,随便敲了几下键盘。。。 rdcvbg 2qase3 6tghu7
flag格式KEY{XXXXXX}
敲键盘,找附近的字符
rdcvbg对应的是f,2qase3中间的是w,6tghu7中间的是y
最终的flag:
flag{fwy}
萌新-密码3 莫斯密码
题目名称:我想吃培根
题目描述: -- --- .-. ... . ..--.- .. ... ..--.- -.-. --- --- .-.. ..--.- -... ..- - ..--.- -... .- -.-. --- -. ..--.- .. ... ..--.- -.-. --- --- .-.. . .-. ..--.- -- -- -.. -.. -- -.. -- -.. -- -- -- -.. -.. -.. /-- -.. -- -.. -.. --/ -- -- -- -- -- /-- -.. -.. -- -.. -- /-- -.. -.. --
格式:flag{***********}
hint:
解密工具下载 链接:https://pan.baidu.com/s/10_35gRb3S6eGW-4MLyJRuA 提取码:1a3f
在Cyberchef中From Morse Code解密
得到如下字符串
MORSE_IS_COOL_BUT_BACON_IS_COOLER_MMDDMDMDMMMDDDDMDDMMMMMDDMDMDDM
可以看到提示Bacon加密,了解到Bacon加密只有两个元素A和B,所以先尝试把M替换成A,D替换成B,得到如下字符串
AABBABABAAABBBBABBAAAAABBABABBA
最终的flag:
flag{GWQNDM}
参考链接:培根密码_百度百科
培根密码最大是BBAAB,另外一种替换方式中BBBAA已经超出了密码范围
萌新 隐写2
hint:文件的主人喜欢用生日做密码,而且还是个90后。
这题,首先考虑是不是伪加密,但是看了文件数据区和文件目录区都是0108,应该是真加密
关于伪加密,可以看下这篇文章zip伪加密_zip 伪加密-CSDN博客
但是根据这篇博客,似乎全为奇数也有可能是伪加密,重新尝试了一下,还是不行
解锁了hint,那就用ARCHPR解密一下,ARCHPR6位以上要注册,算了还是自己写脚本吧
# 生成特定的生日字典
def genenrate(start, end):
for year in range(start, end):
for mon in range(13):
mon = str(mon).zfill(2)
for day in range(32): # 这个真不是代码写的不行,可以看下运行结果
day = str(day).zfill(2)
print(str(year) + mon + day)
with open("birth.dic", "a", encoding="utf-8") as fp:
fp.write(f"{year}{mon}{day}\n")
if __name__ == '__main__':
start = 1990
end = 2000
with open("birth.dic", "w", encoding="utf-8") as fp:
fp.write("")
genenrate(start, end)
import zipfile
def extract(file, password):
path = file[:file.rfind("\\")]
try:
with zipfile.ZipFile(file) as zf:
zf.extractall(path, pwd=password.encode('utf-8'))
print("文件解密成功,文件已解压。")
return True
except Exception as e:
print(f"解压失败: {e}")
if __name__ == '__main__':
file = r"自己的flag文件地址"
dict = r"生成的字典地址"
with open(dict, "r", encoding="utf-8") as fp:
lines = fp.readlines()
# print(lines)
for line in lines:
pwd = line.replace("\n", "")
# pwd = int(line)
print(pwd)
if extract(file, pwd):
break
就是想问问谁家生日是在10月00号的