here_is_a_bug
解压得到一堆php类文件
题目提示bug,用D盾扫描
查看第一个文件,搜索bug找到flag
(这里提醒到了,搜索flag没找到,可以从题目提示得到)
zipbomb
下载下来打开压缩包,提示压缩包损坏
010editor打开,发现存在很多PK头,里面存在很多压缩包,其中应该有一个含有flag
于是摆上mumuzi大佬的脚本
import os.path
import zipfile
import re
dir_path='C:\\Users\\mumuzi\\Desktop\\NSS附件包\\MISC'
files= os.listdir(dir_path)
newfiles = ["zipbomb.zip"]
print(newfiles)
setee = []
for file in newfiles: #遍历文件夹
position = dir_path+'\\'+ file #构造绝对路径,"\\",其中一个'\'为转义符
print (position)
z = zipfile.ZipFile(position, 'r')
for filename in z.namelist():
bytes = z.read(filename)
if b'NSSCTF{' in bytes:
print(filename)
跑出AAAA
010editor里搜索AAAA,发现AAAA在文件尾,删除前面保留这段zip数据打开即为flag
我flag呢?
打开txt,里面是一大堆无用flag
是词频分析,用脚本,但词频分析的是{}里的内容,所以需要调整下
用notepad++在每个’}’后面加上换行符
扩展模式替换 ‘}’替换成’}\n’
替换成功后
from collections import Counter
c = ''
f = open('我flag呢?','r').readlines()
for i in range(len(f)):
ind = f[i].find('{')
c += f[i][ind+1:-2]
f = Counter(c.lower())
f = f.most_common()
print(f)
for i in range(len(f)):
print(f[i][0],end='')
输出yourflagis81e57d2bc90364t
,但t只出现一次
所以flag是NSSCTF{81e57d2bc90364}
gif好像有点大
解压打开是个80多MB的GIF,确实非常大
当时以为是用foremost1分离出一些文件,结果没有
拉进stegsolve用frame查看也没有(结果是当时可能按太快了刚好错过
看了wp才知道有GIF Frame这软件(涨姿势了
可以选择哪一帧,还可以保存所有帧
最后在561帧有二维码,扫描得flag
保存所有帧也有利于一眼查看出哪里有不同
原来你也玩原神
下载下来是一个压缩包,打不开,拉进010editor查看
发现文件头是FF FB 92,查找得知是mp3文件头
改后缀名,mp3隐写尝试用mp3stego
密码为0,得到一个txt文件
看到PK开头,得知是压缩包格式,改后缀名为zip
打开得到flag