一、[HDCTF 2023]ExtremeMisc
1.png文件末尾有zip,手撕,打开后得到一个加密的zip,爆破得到密码haida
2.根据文件后缀是zip的倒叙以及010查看,需要将字节逆序,用脚本跑一下
点击查看代码
f = open("./Reverse.piz", "rb")
data = f.read()
fzip = open("./fzip.zip", "wb")
s = b""
for i in data:
tmp = int(("%02x" % i)[::-1], 16)
s += bytes([tmp])
fzip.write(s)
f.close()
fzip.close()
3.得到zip,打开显示加密,爆破,9724,打开两个zip,发现secrect.txt的CRC32相同,猜测是使用明文爆破
4.打开flag.txt得到flag
二、[鹏城杯 2022]简单取证
1.volatility一把梭,查看镜像版本,使用filescan找文件,过滤jpg关键词的时候找到一个secret.jpg
2.使用dumpfiles将文件下载下来
python2 vol.py -f '/home/cpyq/Desktop/file.raw' --profile=WinXPSP3x86 dumpfiles -Q 0x0000000002325028 --dump-dir=./
3.010打开发现是base64形式,在线解码,得到源码,发现是zip文件的逆序源码,保存下来脚本逆序一下
点击查看代码
with open("./1111.zip","rb") as f:
tmp = f.read()
with open("./222.zip","wb") as f:
f.write(tmp[::-1])
4.打开发现flag.txt是加密的,要找密码,盲猜回到内存镜像中找cmd或者剪切板,在cmd.exe中找到密码
5.打开txt,得到flag内容,0~349两位对应,猜测是定位点
6.写个脚本绘制图片,对应坐标点设为黑色,得到一张二维码
点击查看代码
from PIL import Image
im = Image.new("RGB", (350, 350), (0, 0, 0))
with open("flag.txt", "r") as f:
r = f.read()
lst = r.split("\n")
for i in lst:
x = int(i.split(" ")[0])
y = int(i.split(" ")[1])
im.putpixel((x, y), (255, 255, 255))
im.save("1.png")
7.扫码得到flag
flag{a6b93e36-f097-11ec-a9b2-5254002d2b31}