3.29-3.30 三连国际赛 - WriteUp (Swamp Tamu Dice)

碎碎念

因为一些原因,混进了(?)SU的群里跟着SU的师傅们一起打了三场国际赛(也算是体验了一下联队),因为周六有自己的安排,周日又去打数字中国了,所以最后也没做多少题,远远不够看,下次再打的时候争取多做一些。
我以前没怎么打过国外的比赛,通过这几场比赛也算是简单了解了一下国外出题的一些风格吧,总的来说国外的比赛还是太抽象了,而且还有着一部分语言障碍,可能要多打打才能克服这种文化差异)


SwampCTF 2025 - WriteUp

Pretty Picture: Double Exposure (done)

知识点省流

lsb隐写

WP

用stegsolve梭了

image-20250329102716202

swampCTF{m3ss4g3s_0r_c0de_c4n_b3_h1dd3n_1n_1m4g3s}

Blue (done)

知识点省流

azure存储

WP

The SwampCTF team is trying to move our infrastructure to the cloud. For now, we've made a storage account called swampctf on Azure. Can you test our security by looking for a flag?
SwampCTF 团队正在尝试将我们的基础设施迁移到云端。目前,我们在 Azure 上创建了一个名为 swampctf 的存储帐户。您可以通过查找标志来测试我们的安全性吗?

不太熟悉,丢给gpt问问,了解到大致的访问格式,红框内容是对应容器名,但我们不知道容器名

1743344721048

so这里的情况就是要么找容器,要么猜容器,要么爆容器

没了解到怎么找,那就只能猜和爆,试了一些可能的情况都没试出来,然后让gpt写了个脚本准备爆破

然后我想到它让我test一下,那我就试了一下test,然后出了,访问框内链接就能得到flag

1743344750568

Party Time! (done)

知识点省流

exif+经纬度定位

WP

附件给了一张图片,在属性可以看到具体的经纬度坐标

image-20250331192057510

到谷歌地图锁定一下即可

image-20250331192118799

Party Time! Level 2 (done)

知识点省流

osint

WP

在附近找快餐店就可以了,然后到评论里找到flag

image-20250331192152862


DiceCTF 2025 - WriteUp

buu-binding (done)

知识点省流

文档隐写(pdf version)

WP

得到一个pdf文档,直接搜dice,就可以发现藏了内容,复制出来即可

image-20250329095628117

dicecap (done)

知识点省流

流量取证+逆向分析

WP

得到一个流量文件,发现没有http协议(可恶啊),那就看看别的,可以看到有tcp协议,简单看了一下发现有几条是有内容的,所以直接对tcp协议进行分析

image-20250329101220380

随便跟踪一条流量,然后切换流即可,首先流4可以看到这里传输了信息,表明传了一个zip,猜测flag在zip里

image-20250329101329054

往后找,发现流9这里进行了ftp的登录,用户是hacker,密码也是hacker

image-20250329101413268

再往后,发现流12传入了一个elf文件,先导出保存备用,与此同时简单看看elf的内容,可以发现里面提到了一个password

image-20250329101450267

image-20250329101512805

再往后发现流16传入了一个zip文件,里面带了flag.txt

image-20250329101539504

至此流量分析基本完成,针对得到的内容进行进一步处理,先看看压缩包,可以看到上了密码,爆破是打不开的

image-20250329101636244

然后前面看到elf里提到了password,所以可以联想到他们有关系,把elf文件丢到kali中运行一下,发现出了一个密码,但是丢给压缩包是解不出来的,显然这个密码是通过某种方式处理得到的

image-20250329101717242

所以将elf文件丢给ida,搜索password,然后找到其对应的伪代码

image-20250329101801348

一顿操作猛如虎,代码丢给gpt分析,可以确定下来密码是由时间戳+环境前5字符+用户名拼接而成,同时时间戳进行了一个取整操作

image-20250329101843098

那我们的目的很明确,需要找到对应的时间戳和用户名即可(环境字符要改成en_US,毕竟是国外的比赛)

时间戳在最前面的时候我们已经看到了是1743126493,而用户也是在ftp登录中提到了是hacker,简单处理一下后得到密码为1743126480en_UShacker

然后就可以解压压缩包得到flag


TAMUCTF 2025 -WriteUp

code (done)

知识点省流

像素值转二进制

WP

给了一张黑白像素图 每一格里不止一个像素(每一格的数量还不一样),把它还原成单像素(我直接ps手搓),然后导出rgb数据后二进制转ascii再base64即可

1743419169051

Deflated (done,但是是赛后)

知识点省流

压缩包已知明文攻击+git

WP

得到一个ZipCrypto Deflate加密的压缩包,内容如下:猜测是要进行已知明文攻击的

image-20250331222831312

如果要进行已知明文攻击,我们就需要知道至少12字节的明文,那么什么是知道的呢

可以看到有一个.git目录,里面也许有固定的文件,所以找一个现成的项目的.git目录,然后发现里面HEAD文件与压缩包内是一致的(因为大小相同)

image-20250331223057661

遂把这个文件的内容存入plain文件中,然后用bkcrak直接进行爆破,可以看到很快密钥就出来了

image-20250331223002870

然后,利用密钥修改原压缩包的密码,导出新的压缩包(如果直接提取其中的文件会乱码,改压缩包是必须的)

image-20250331223253603

解压后打开py文件,发现似乎不是flag,好像让我们看的再深入一些,不难猜到是分析.git目录

image-20250331223349983

在logs/HEAD文件中发现了如下记录:也就是说这个仓库进行了一些删除操作,移除了flag

0000000000000000000000000000000000000000 01c525a1a206c1a6dd2f4124b19c60853e16ff3c flocto <flocto@duck.com> 1742242453 -0500	commit (initial): initial commit
01c525a1a206c1a6dd2f4124b19c60853e16ff3c 5e6304a711c542fb448a368be9270c7aba3ba627 flocto <flocto@duck.com> 1742242490 -0500	commit: remove flag and put a super long commit message so that it gets compressed

问一下gpt该怎么操作,然后执行一下即可得到flag(要在.git目录中执行)

image-20250331223531905

image-20250331223527673

qwq