题目给了一个压缩包,解压缩后里面是这样的:
双击图片,发现图片破碎,遂用winhex打开看一下,发现文件头不完整,于是补充一下16进制的文件头: FF D8 FF E0
在插入文件头的时候有个小插曲,我把光标点到第一个16进制字符的地方,直接输入文件头信息,结果把原来的信息给覆盖了,之前实验的时候是直接可以插入的,这里不知道为什么。解决方法就是点级edit-paste zero bytes-在弹出来的框中输入你要添加多少个空白,然后对空白进行覆盖就行了。
这时候图片可以正常显示了,是一段文字还有一个百度网盘的链接,网盘里是一个名为地狱之声.wav的音频文件,将文件下载到本地。
音频文件可以使用audacity打开看一下(因为很多音频涉及隐写术的时候,在音频里会有一块非音频段的音频块,这时候就可以猜测音频中有隐藏的信息,然后通过Mp3Stego来尝试提取信息,总之先用audacity打开就完事儿了)
打开以后…真就地狱之声呗…全程音频bibibibi…嗯一想就想到摩尔斯码(很多涉及音频隐写术的就爱搞这个)下面是音频的图:
得到的摩尔斯码如下
-.-/./-.--/.-.././-/..-/.../--./---
翻译后如下:
KEYLETUSGO
添加一个python 解密摩尔斯码的简易代码:
morse_dict = {
'A': ".-",
'B': "-...",
'C': "-.-.",
'D': "-..",
'E': ".",
'F': "..-.",
'G': "--.",
'H': "....",
'I': "..",
'J': ".---",
'K': "-.-",
'L': ".-..",
'M': "--",
'N': "-.",
'O': "---",
'P': ".--.",
'Q': "--.-",
'R': ".-.",
'S': "...",
'T': "-",
'U': "..-",
'V': ".--",
'W': ".--",
'X': "-..-",
'Y': "-.--",
'Z': "--..",
'1': ".----",
'2': "..---",
'3': "...---",
'4': "....-",
'5': ".....",
'6': "-....",
'7': "--...",
'8': "---..",
'9': "----.",
'0': "-----",
'.': ".-.-.-",
'?': "..--..",
'!': "-.-.--",
'(': "-.--.",
'@': ".--.-.",
':': "---...",
'=': "-...-",
'-': "-....-",
')': "-.--.-",
'+': ".-.-.",
',': "--..--",
'\'': ".----.",
'_': "..--.-",
'$': "...-..-",
';': "-.-.-.",
'/': "-..-.",
'\"': ".-..-.",
}
s = input("Input morse code: ")
decode_answer = ""
while 1:
cut_s = s.split(" ")
for c in cut_s:
for key, value in morse_dict.items():
if value == c:
decode_answer += key
print(decode_answer)
break
加密成摩尔斯码的代码:
morse_dict = {
'A': ".-",
'B': "-...",
'C': "-.-.",
'D': "-..",
'E': ".",
'F': "..-.",
'G': "--.",
'H': "....",
'I': "..",
'J': ".---",
'K': "-.-",
'L': ".-..",
'M': "--",
'N': "-.",
'O': "---",
'P': ".--.",
'Q': "--.-",
'R': ".-.",
'S': "...",
'T': "-",
'U': "..-",
'V': ".--",
'W': ".--",
'X': "-..-",
'Y': "-.--",
'Z': "--..",
'1': ".----",
'2': "..---",
'3': "...---",
'4': "....-",
'5': ".....",
'6': "-....",
'7': "--...",
'8': "---..",
'9': "----.",
'0': "-----",
'.': ".-.-.-",
'?': "..--..",
'!': "-.-.--",
'(': "-.--.",
'@': ".--.-.",
':': "---...",
'=': "-...-",
'-': "-....-",
')': "-.--.-",
'+': ".-.-.",
',': "--..--",
'\'': ".----.",
'_': "..--.-",
'$': "...-..-",
';': "-.-.-.",
'/': "-..-.",
'\"': ".-..-.",
}
s = input("Input String to encode: ")
encode_answer = ""
while 1:
for c in s:
for key, value in morse_dict.items():
if key == c:
encode_answer += (value+'/')
print(encode_answer)
break
但是KEYLETUSGO并不是密码,密码是letusgo
用这个key打开word文件,发现除了一只阿拉斯加,如果没看评论区,我估计会把这只狗再搞一遍…嗯 在首选项里找一下显示隐藏信息。得到如下:
image steganography
这里是提示了用这个工具来解析隐藏在图片中的文字信息
看别人帖子里是用一个网站提取隐藏的文字信息:
http://www.atool.org/steganography.php
今天上午的时候我也用的这个网站,然而晚上就现实没备案??…
就下载了一下image steganography这个软件,但是decode的时候显示图片破损解析失败:
懵逼…然后找了几张含有信息的图片试了下,是可以解析出东西的(汉字不可以)有遇到过的在评论区里指点下…
总之 decode出来
key{you are in finally hell now}
密码是 you are in finally hell now
然后解压出一个txt 里面写着:
这里有一个大门,勇士把它轰开吧。
(tips:01110010011101010110111101101011011011110111010101101100011010010110111001100111)
直接 二进制转换16进制然后转换字符串
但是网上的一些在线解码会出现解码不全的现象:
感觉这样的东西自己平时写个脚本什么的备用挺好的 flag*1
最后还是解析出来了
72756f6b6f756c696e67 十六进制
ruokouling 字符串
ruokouling是在暗示弱口令…然而并没有什么可以爆破密码的地方…视线转移到了刚刚解压出来的另一张图片,尝试改后缀名为 .rar
而这个压缩包是需要密码的,所以上面的ruokouling应该是在暗示这个压缩包密码是弱口令,于是用工具爆破之 Ziperello
然后得到了密码是
Password
呀呀呀呀!小姐姐(flag)已经被贝斯家族的人劫持了,
你找到
凯撒家族发现小姐姐被这个家族的仆人带向了地狱的另一个名门望族,
贝斯家族。中途他们还经历了
兔子洞穴。最后你从那个家族的sixfour手里拿到了面目全非的小姐姐(VTJGc2RHVmtYMTlwRG9yWjJoVFArNXcwelNBOWJYaFZlekp5MnVtRlRTcDZQZE42elBLQ01BPT0=)。你能帮小姐姐恢复容貌吗?
凯撒。。贝斯。。兔子 不言而喻
一看这么一长串 先解base64先
U2FsdGVkX19pDorZ2hTP+5w0zSA9bXhVezJy2umFTSp6PdN6zPKCMA==
rabbit然后
fxbqrwrvnwmngrjxsrnsrnhx
然后凯撒
第1次解密:fxbqrwrvnwmngrjxsrnsrnhx
第2次解密:ewapqvqumvlmfqiwrqmrqmgw
第3次解密:dvzopuptluklephvqplqplfv
第4次解密:cuynotosktjkdogupokpokeu
第5次解密:btxmnsnrjsijcnftonjonjdt
第6次解密:aswlmrmqirhibmesnminmics
第7次解密:zrvklqlphqghaldrmlhmlhbr
第8次解密:yqujkpkogpfgzkcqlkglkgaq
第9次解密:xptijojnfoefyjbpkjfkjfzp
第10次解密:woshinimendexiaojiejieyo <-------------------------
第11次解密:vnrghmhldmcdwhznihdihdxn
第12次解密:umqfglgkclbcvgymhgchgcwm
第13次解密:tlpefkfjbkabufxlgfbgfbvl
第14次解密:skodejeiajzatewkfeafeauk
第15次解密:rjncdidhziyzsdvjedzedztj
第16次解密:qimbchcgyhxyrcuidcydcysi
第17次解密:phlabgbfxgwxqbthcbxcbxrh
第18次解密:ogkzafaewfvwpasgbawbawqg
第19次解密:nfjyzezdveuvozrfazvazvpf
第20次解密:meixydycudtunyqezyuzyuoe
第21次解密:ldhwxcxbtcstmxpdyxtyxtnd
第22次解密:kcgvwbwasbrslwocxwsxwsmc
第23次解密:jbfuvavzraqrkvnbwvrwvrlb
第24次解密:iaetuzuyqzpqjumavuqvuqka
第25次解密:hzdstytxpyopitlzutputpjz
第26次解密:gycrsxswoxnohskytsotsoiy
至此,就完成了这个任务…然后按照格式提交flag就好了。。
说真的 这题如果不看评论区题解还有网上的思路…估计自己搞不出来…
还是要多开拓思维吧…
另外,在这个过程中很多加密解密的算法都是在网上搜在线解密的,但是不怎么靠谱(比如那一串二进制转换成十六进制就没完全转换),还是自己动手写脚本,一劳永逸。