[BUUCTF]喵喵喵
分析
题目是一张图片,打开属性,放入010editor,无果;于是想到LSB隐写
解题
发现一张PNG,但开头不太对劲
将其保存txt文件,发现放入010editor并不可以修改开头
在某位大佬博客中学到一个方法,如下:
首先,在notepad中打开txt文件
Alt按列选择左侧复制,放入Cyberchef
两者交换
下载图片,得到一个二维码
大概率宽高被修改了,在010中进行修改,得到一个完整二维码
扫码得到网址:https://pan.baidu.com/s/1pLT2J4f
接着,得到一个flag.rar,用winrar打开,得到flag.txt
太过分了! 在大佬的wp得知,这是NTFS文件隐写
txt文件隐藏的信息思路
1.观察txt文件的属性说不定会有线索
2.txt文件里面是一堆空行可能存在snow隐写
3.存在NTFS隐写
并且在使用该工具时,下载的压缩包用WinRAR解压才可以提取到隐藏的文件
流隐写得用WinRAR解压
随后得到一个反编译文件python pyc文件 – 知乎
利用在线反编译工具在线Python pyc文件编译与反编译,得到如下代码
# Visit https://www.lddgo.net/string/pyc-compile-decompile for more information
# Version : Python 2.7
import base64
def encode():
flag = '*************'
ciphertext = []#初始化一个空列表ciphertext,用于存储加密后的字符
for i in range(len(flag)):#使用一个for循环遍历flag字符串中的每个字符。
s = chr(i ^ ord(flag[i]))#对于每个字符,使用它的索引i和字符的ASCII值进行异或操作,然后使用chr函数将结果转换为一个字符。
if i % 2 == 0:
s = ord(s) + 10#如果是偶数,将字符s的ASCII值增加10。
else:
s = ord(s) - 10#如果是奇数,将字符s的ASCII值减少10
ciphertext.append(str(s))#将处理后的字符s转换为字符串,并添加到ciphertext列表中
return ciphertext[::-1]#函数返回ciphertext列表的逆序。
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']#定义了一个ciphertext列表,包含了加密后的字符的ASCII值的字符串表示,这个列表是按照加密函数的逻辑生成的
这段代码是一个加密程序,据此,可有写一个脚本将flag解出来,由于能力有限,借鉴一下网上大佬
def decode(ciphertext):
# 反转密文列表
ciphertext = ciphertext[::-1]
flag = []
for i in range(len(ciphertext)):
s = int(ciphertext[i])
# 根据索引的奇偶性进行逆操作
if i % 2 == 0:
s -= 10
else:
s += 10
# 进行逆向的按位异或操作
original_char = chr(i ^ s)
flag.append(original_char)
# 将列表中的字符拼接成字符串
return ''.join(flag)
ciphertext = [
'96', '65', '93', '123', '91', '97', '22', '93', '70', '102',
'94', '132', '46', '112', '64', '97', '88', '80', '82', '137',
'90', '109', '99', '112'
]
# 解密得到的flag
flag = decode(ciphertext)
print("解密后的flag是:", flag)
解密后的flag是: flag{Y@e_Cl3veR_C1Ever!}
参考:【CTF入门】BUUCTF Misc刷题(持续更新) – Super_Snow_Sword – 博客园
知识点:图片隐写,Lsb,txt隐写,宽高,NTFS隐写,py反编译
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容