本文目录
前言
ISCC Misc
签到题

打开文件,一张png图片,在010Editor或winhex打开,找到修改高度就得到了flag,
但是flag不是对的,然后想着肯定加密了,所以就去挨个试试,然后发现时维吉尼亚密码,密钥就是high,解密就得到flag。

耳听为实

这道题也是突然有了灵感,当时没事在搜"音频隐写",然后就看到了mp3stego这个工具(工具下载可直接在百度搜索,同时我将更新了我的安装配置踩坑记录这篇博客——里面有几个工具的,有兴趣的可以看下哦。)
需要密码,用010Editor打开音频文件,看到信息

没错的,就是flag。
然后将ABC.mp3复制一份到MP3stego工具的目录下
Decode.exe -X ABC.mp3 -P flag
然后看到目录下生成一个txt文件。
打开看到信息

百度网盘链接,那明显下面的base64编码就是提取密码了
又是一个音频,听了一遍,嗯,听不出来,那就下载那个音频在010Editor查看,

在开头发现它是压缩包,还在末尾发现了flag-RD.wav,然后就改后缀,解压。

当时就看不懂了。到这里就断了,好不甘心的。害!
emmm,听学长说可以直接对提交框进行爆破。这个操作666,正好flag是弱口令。这真想不到😂。
flag{password}
千层套路

一个GIF动图,拼出来是这样的。

先记在记事本中。
binwalk查看有没有隐藏文件。
看到有压缩包。分离出来。
需要密码才能解压。将记事本中的字符串输入。解压得到文件。
一个PDF文件、一个文本文件。看不懂,没有头绪,找学长问了下思路,了解到是需要像素点画图。用到了脚本。看了学长的博客:千层套路
将脚本搬过来
from PIL import Image
x = 141 #x坐标 通过对txt里的行数进行整数分
y = 726 #y坐标 x * y = 行数
im = Image.new("RGB", (x, y))
file = open('1.txt')
for i in range(0, x):
for j in range(0, y):
line = file.readline() #获取一行的rgb值
line = line[:-2]
line = line[1:]
#print(line)
rgb = line.split(", ") #分离rgb,文本中逗号后面有空格
im.putpixel((i, j), (int(rgb[0]), int(rgb[1]), int(rgb[2])))
im.save('test2.png')
因为1.txt中是这样的。

所以改成这样的。这是学长给的改版后的脚本。
学习了PIL模块使用
Image.new(mode, size, color) 该方法可以创建指定图像,可在上面进行一些图像操作
- mode 图像色彩模式
- size 图像大小
- color 图像初始颜色
奥对了,还有就是1.txt的格式要写对。像这样

这样的话,file.readline一次读一行。不进行修改的话,其实是这样的。

其实它只有一行的。格式不对。
file.readline去读的话,直接全部读下来,无法生成想要的文件。
脚本是python2版本的,所以到kali中去跑。
python2 1.py 1.txt
我已经把默认的python版本改成了python3,所以这么写为了保险。
结果出来是一张emmm,算是一张镜像图吧。因为他是反的。原本还看错了。最后交flag时,试了几遍发现不对。然后就想

本文深入解析CTF竞赛中的多项挑战,涵盖Web安全、密码学、逆向工程及杂项等核心领域,通过实例演示如何解决各类谜题,包括利用PHP反序列化漏洞、时间盲注、音频和图像隐写术等技术。
最低0.47元/天 解锁文章
698





