BUUCTF杂项MISC题解题思路(3)(不断更新)
来题中等的吧:
下载好后打开是一张图片
还真是中等难度,就是摩斯密码,手敲放入网站解码
转换成小写即可
谁赢了比赛?:
下载好后是一张图片,放到stegsolve里隐写分析发现不是,没有什么头绪。用随波逐流分析一下,发现可能有隐藏文件
binwalk分离一下,有个文件夹,里面有压缩包,解压需要密码
用ARCHPR破解后解压
怎么又有一个flag.txt干扰,还有一张图片,这次应该是隐写了吧,放入stegsolve,分析数据还是没什么信息,逐帧分析,
会有一帧是这个,另存一下
再用stegsolve打开一下,逐个看,在Red plane 0里有一张二维码(其它有的地方也有),好像看到了一丝曙光,保存下来
用QR search打开即可看到flag。这道题还是有点小麻烦的
outguess:
下载好后解压,我看其他有的说tar是要放在虚拟机里或者改后缀或者文件隐写啥的,但是我这直接解了,不管了,能解出来就是好事。
压缩包不用管,flag.txt说的这道题应该要用到隐写,尝试mmm.jpg去stegsolve里,但是没啥信息。看到属性里有核心价值观
核心价值观解密 核心价值观编码 - Bugku CTF平台
是abc,但是这有啥用呢?是一些文件里含压缩包解密用的?尝试一下没啥思路,看一下别人的博客, 【BUUCTF-MISC】outguess_buuctf outguess-CSDN博客
outguess隐写:
需要先在虚拟机上下载outguess,用命令
sudo apt-get install outguessoutguess -help #检查是否安装成功
结合AI
outguess -k "密码" -d 机密文件 图片文件 内嵌文件
#信息隐藏:会将内嵌文件写入图片文件中并生成新的包含隐藏信息的内嵌文件outguess -k "密码" -r 内嵌文件 机密文件
#信息提取:将内嵌文件提取出隐藏的文件并保存为机密文件
将文件拖入虚拟机桌面,打开终端,用第二个命令即可(当然,都需要知道密码)
梅花香之苦寒来:
下载好后,尝试放入随波逐流分离一下,跟之前一样的图片,属性中有个会画图吗。就啥也没有。没有思路,拖入WinHex中看看,刚开始没发现啥,但是又拖了拖发现了很多十六进制数
十六进制转ASCII码
一堆坐标?结合图片属性,要画出来?这咋画?借用大佬的代码
import matplotlib.pyplot as plt
import re# 16进制转ASCII码的函数
def hex_to_ascii(hex_string):ascii_string = ""for i in range(0, len(hex_string), 2):ascii_string += chr(int(hex_string[i:i+2], 16))return ascii_string# 假设这是你的16进制字符串,它代表了一系列坐标对
# 我们把这里的值换成 之前复制的16进制 即可
hex_string = "28372C372729" # 16进制表示的"(7,7)"# 将16进制字符串转换为ASCII码
ascii_string = hex_to_ascii(hex_string)print(ascii_string)# 解析ASCII码以获取坐标对
# 坐标对是以逗号分隔的,并且每个坐标对都是整数
coordinates = re.findall(r'\((\d+),(\d+)\)', ascii_string)# 提取x和y坐标
x_coords = [int(coord[0]) for coord in coordinates]
y_coords = [int(coord[1]) for coord in coordinates]# 使用matplotlib绘制坐标
plt.figure()
plt.plot(x_coords, y_coords, 'ko-', label='Path', linewidth=0.1, markersize=4) # 设置线条粗细和点的大小
plt.xlabel('X Coordinate')
plt.ylabel('Y Coordinate')
plt.title('Plot of Coordinates from Hex String')
plt.grid(True) # 添加网格线
plt.legend()
plt.show()
又看了看别人的博客发现随波逐流就可以画。是个二维码,扫描即可
find_me:
下载好后是一张图片,binwalk分析是纯图片
查看属性里有一段字符,是盲文
在线网站解密,其实找了几个网站解不出来,博客
KO:
打开后是Ook!语言
在线解密 Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
base64隐写:
看题目是base64隐写,下载好后一个base64加密的文件,一张图片。图片没啥用。
用大佬的代码解一下,要把脚本放在与文件同目录中
import base64
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('ComeOn!.txt', 'rb') as f:flag = ''bin_str = ''for line in f.readlines():stegb64 = str(line, "utf-8").strip("\n")rowb64 = str(base64.b64encode(base64.b64decode(stegb64)), "utf-8").strip("\n")offset = abs(b64chars.index(stegb64.replace('=', '')[-1]) - b64chars.index(rowb64.replace('=', '')[-1]))equalnum = stegb64.count('=') # no equalnum no offsetif equalnum:bin_str += bin(offset)[2:].zfill(equalnum * 2)# flag += chr(int(bin(offset)[2:].zfill(equalnum * 2), 2))# print(flag) 这样写是不对的print([chr(int(bin_str[i:i + 8], 2)) for i in range(0, len(bin_str), 8)])
————————————————版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/lin__ying/article/details/137088971
运行出来即可
flag{6aseb4_f33!}
穿越时空的思念:
听着含有摩斯密码,拖入Audacity中,下面是摩斯密码(我这个看着有点奇怪)
到在线网站解密
转换为小写,可以手动,也可以用python代码
包上flag即可
我有一只马里奥:
下载好后是一个程序,点开后自动生成一个1.txt
里面有flag文件但是没有其它信息,第一行ntfs查一下
可能是被保护了,有权限。但是用啥命令解,看一下其他人的博客
BUUCTF-MISC-[SWPU2019]我有一只马里奥~sqltest-CSDN博客
在1.txt同目录下用命令
notepad 1.txt:flag.txt
头改为flag{}即可
ezmisc:
下载好后是一张图片,尝试着放进随波逐流吧,以为有什么隐藏文件,结果给我出来了
我的天,真实ez,就是宽高隐写,修改宽高即可
如果手动改,从原图片中可以发现宽高不一样
拖入010editor里修改宽高为一样即可
前面四位是宽,后面是高,这部分在我先前的博客中已经讲过
BUUCTF杂项MISC题解题思路(1)_buuctf 图片隐写-CSDN博客
gakki:
下载好后是一张图片,拖入随波逐流,发现有隐藏文件,binwalk分离
有个压缩包,解压需要密码,用ARCHPR爆破一下
解压后是个文本
以为就结束了,但是一打开竟然是一堆数据。用到词频统计
用大佬的代码
# 导入 Counter 类,用于统计字符频率
from collections import Counter# 打开文件 'flag.txt' 以读取模式
with open('flag.txt', 'r') as file:# 读取文件内容text = file.read()# 使用 Counter 统计字符频率chars_count = Counter(text)# 对字符频率进行降序排序,得到一个包含元组的列表sorted_chars_desc = sorted(chars_count.items(), key=lambda x: x[1], reverse=True)# 遍历排序后的字符频率列表,输出字符和对应的次数for char, count in sorted_chars_desc:print(char, count)# 使用列表推导式将字符按照出现次数降序连接成一个字符串print_data = ''.join([char for char, count in sorted_chars_desc])# 输出按照字符出现次数降序排列的字符串print(print_data)
有两种输出方式
caesar:
题目说是凯撒,下载好后是一些明文,一眼看出来偏移量为1
去在线网站解
包上flag{}就行
single dog:
这题目是上来就给个痛击啊。是一张图片,难道是隐写?先放进stegsolve里看看吧,没有信息
随波逐流看一下,分离,除了图片还有一个压缩包,压缩后是一个文本,打开时一些杂表情包
查了一下这是颜文字,在线解密即可。这个网站需要挂梯子
AAEncode - A.Tools
黑客帝国:
下载好后是个文本,里面有一大堆十六进制数,拖入010editor,以十六进制打开
很明显这是一个以rar为结尾的文件,另存为黑客帝国.rar,这里不知道为什么不能直接改后缀。解压需要密码,爆破解压
是个图片,但是打不开,放入010看一下
补充:
常见文件类型的文件头尾:
JPEG (jpg) 文件头:FFD8FF 文件尾:FF D9
PNG (png) 文件头:89504E47 文件尾:AE 42 60 82
GIF (gif) 文件头:474946383961 文件尾:00 3B
ZIP Archive (zip) 文件头:504B0304 文件尾:50 4B
Windows Bitmap (bmp) 文件头:424D
RAR Archive (rar) 文件头:52617221
小科普《常见文件类型的文件头尾》_常见文件头-CSDN博客
http://www.cnblogs.com/threesoil/p/9857823.html
看头尾不对应,
头是png,尾是jpg,但前面写着JFIF,所以是jpg文件,将头改为FF D8 FF
即可得到flag: flag{57cd4cfd4e07505b98048ca106132125}
低个头:
下载好后是一些字母,题目提示低个头
可以跟键盘联想起来了,将这些字母连起来(刚开始隔空画了一下没看出来是啥,后来知道画偏了),连起来就是CTF,包上flag
伟大的侦探:
压缩包需要解压密码,但是又一个密码.txt文件,里面写的让我们找回密码,将其拖入010editor中
看别人博客是用视图,编辑为EBCDIC(具体为啥我也不太清楚)
就有了压缩包密码,压缩后是一些图片
这是一种加密方式,来自于福尔摩斯探案集,跳舞的小人密码,对照表如下(相似)
对照出flag:flag{iloveholmesandwllm}
你能看得懂音符吗:
压缩包不能解压,放入WinHex中查看发现文件头不对应,改一下
压缩后,有一些音符
在线音符解密,但是网站打不开了,知道思路就行了,答案放这flag{thEse_n0tes_ArE_am@zing~}
我吃三明治:
下载好后是一张图片,隐写一下没有什么有用的信息。随波逐流分离一下有两张图片
但是没啥其它信息,将原先图片拖入WinHex有一些奇怪的码,解密也不对
继续向下看,有一些类似的,下面有一串数字,用随波逐流解,是base32编码,flag出来了
NTFS数据流:
看题目应该要分析数据流,解压后是一堆文本,打开是flag不在这里,需要找flag的位置,用扫描NTFS数据流的软件NtfsSteamsEditor GitCode - 全球开发者的开源社区,开源代码托管平台
将其文件夹放进去,扫描得出一个flag.txt(在293.txt),点开即可得到flag
你有没有好好看网课:
压缩包压缩后还有两个压缩包,flag2爆破不了,flag3爆破出来了
解压后一个文档一个音频,文档不知道啥意思,视频逐帧播放在5.69秒时会闪过一行密码
猛一看以为是摩斯密码,但是解不出来,看一下别人的博客,再把后面思路也看看。这是敲击码
..... ../... ./... ./... ../,对应数字52313132(每一片段点的个数),根据敲击码对照表,或者在线网站解
CTF在线工具-在线敲击码|敲击码编码|敲击码算法|tap code
还有一段7.38s
dXBfdXBfdXA= base64解码
拼到一块 wllmup_up_up ,这就是flag?提交了不对,是不是忘了什么?
bingo!还有flag2没有用,这就是flag2压缩包密码。
是一张图片,这也没有flag啊,拖入WinHex看看
原来在这里flag{A2e_Y0u_Ok?}
sqltest:
根据题目提示时跟sql注入有关,这是我的弱项,看看别人的博客吧。放入Wireshark,导出http流
可以看到布尔盲注注入语句,过滤flag,从6276开始
最上面红圈在试第一个字符,等一下试了个100,返回字节848,这个是小了,因为他后面在加大。后面200 发现大了,直到试到101 返回848 发现还是小。这时候他试了个102,返回了个780 所以第一个字符是102,102对应的ascii码是f
以此类推,筛选出来
102 108 97 103 123 52 55 101 100 98 56 51 48 48 101 100 53 102 57 98 50 56 102 99 53 52 98 48 100 48 57 101 99 100 101 102 55 125
ASCII码转字符即可
docx:
下载好是一个文档,但是没有其它信息,拖入WinHex中查看
发现这个文件头时压缩包,修改后缀,压缩后有好几个文件夹,一个一个找,在word文件夹,media文件夹里有很多图片
在第23张图片里找到了flag: flag{unz1p_3v3ryth1ng}