[buuctf-misc]喵喵喵
m题目在线评测BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5下载是一张小猫图片,尝试查属性,文本查看,哈希查看,宽高修改等,没发现什么异常。
排除法确定这图应该是一道 隐写题
使用stegsolve隐写分析工具进行查看,发现在模式red plane 0、blue plane 0、green plane 0时图上方有显示
使用Stegsolve的Data Extract功能,设置如图所示,查看预览,可以得知是一张图片
Stegsolve的Data Extract功能介绍:
Bit Planes(位平面):
共有 8 个位平面(Bit Plane 0 —Bit Plane 7)。
其中Bit Plane 0(LSB,最低位):对图像影响最小,通常包含噪声或隐藏信息;
Bit Plane 7(MSB,最高位):包含最主要的视觉信息,决定图像的大致轮廓。Extract By:
选项 Row or Column (意为扫描顺序,按照‘行’或‘列’进行)
Bit Order:
选项MSBFirst 和 LSBFirst (意为字节上的读取顺序。如果设置了MSBFirst则是从高位开始读取,LSBFirst是从低位开始读取)
Bit Plane Order:
选项为红绿蓝组成的6种读取顺序(意为位平面读取顺序。Alpha一直是最先读的,然后会根据该项的配置决定读取顺序。)
save bin保存为.png的文件。该文件头前多了"fffe",可使用010 editor工具将其删去,保存才能得到真正的图片。
PNG (png) 文件头:89504E47
可图片只显示了一半的二维码,尝试一下修改这个图片高度,得到完整的二维码图片
扫描二维码得到一个flag.rar文件百度网盘下载链接,下载解压查看
(小声哔哔,这题真他龟儿的烦人)只有一个txt文件,这里尝试一下ntfs
这里用工具 NtfsStreamsEditor2搜索一下,发现隐藏数据流
NTFS流隐藏文件编辑器
https://gitcode.com/Premium-Resources/2bbc5/?utm_source=article_gitcode_universal&index=top&type=card&一款专为Windows NTFS文件系统设计的实用工具,能够帮助轻松创建、查看和删除隐藏的文件流。
发现是一个.pyc文件
.pyc文件
是Python字节码文件的扩展名,用于存储已编译的Python源代码的中间表示形式。是二进制文件,因此无法正常阅读里面的代码。文件内包含了已编译的字节码,可更快地被Python解释器加载和执行,因为解释器无需再次编译源代码。
由于里面的代码不能直接阅读,需要对它进行反编译操作。
在线反编译pyc/pyp/py/python工具
在线pyc,pyo,python,py文件反编译工具本工具目前支持反编译Python的版本有Python 1.5 ,Python 2.1 ,Python 2.2 ,Python 2.3 ,Python 2.4 ,Python 2.5 ,Python 2.6 ,Python 2.7 ,Python 3.0,Python 3.1,Python 3.2,Python 3.3 ,Python 3.4 ,Python 3.5,Python 3.6
http://tools.bugscaner.com/decompyle/结果如下图示
这个显然是一个加密过程,我们需要反推它得到真实的flag
这里我直接找AI帮忙写了一个反向解密的代码
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'
]# 1. 反转列表恢复原始顺序
reversed_cipher = ciphertext[::-1]# 2. 逐字符解密
flag_chars = []
for i in range(len(reversed_cipher)):num = int(reversed_cipher[i])# 回滚加减10操作if i % 2 == 0:s = num - 10else:s = num + 10# 逆向异或得到原始字符flag_char = chr(i ^ s)flag_chars.append(flag_char)# 3. 组合为最终flag
flag = ''.join(flag_chars)
print(flag)
最终获得flag{Y@e_Cl3veR_C1Ever!}
有一说一,这题整的真它龟儿的累