swampctf2025 WP
TimelineSec CTF 315浏览 · 2025-03-31 14:25

web

web1 Serialies

/api/person

屏幕截图 2025-03-29 121103.png
图片加载失败
屏幕截图 2025-03-29 121137.png
图片加载失败


web2 Hidden Message-Board



Plain Text
复制代码
图片加载失败


web3 Beginner Web

F12拿到flag1,审计js发现flag2和flag3加密逻辑

利用cryptojs解密,在浏览器控制台输入

web4 SlowAPI

https://zhero-web-sec.github.io/research-and-things/nextjs-and-the-corrupt-middleware

图片加载失败


图片加载失败


web5 Sunset Boulevard



admin路由有登录功能点 没啥用

题目提示fan latters有用

xss打cookie尝试



web6 Contamination (todo)



该路由及参数才会被转发到后端的/api路由

应该要打请求走私



构造一个 JSON 字符串,{"a": "é"},e9h,在 ISO‑8859‑1 下是合法的,但如果直接当作 UTF‑8 来解析,就会失败。



web7 Editor

app.component.ts



<script> 标签:直接被移除,无法执行 JavaScript。

on* 事件处理器(如 onclickonload):被正则表达式移除。

CSS 注入:仅允许替换 <style class="custom-user-css"> 的内容,无法直接执行 JS。

inframe标签直接加载flag.txt



web8 SwampTech Solutions

guest身份登录进去

image.png
图片加载失败


注意到cookie是guest的md5

伪造admin进adminpage.php

发现隐藏的接口

image.png
图片加载失败


打xxe

image.png
图片加载失败


web9 MaybeHappyEndingGPT

想办法让ai返回的数据构成成rce的字符串





尝试后发现有限制 要绕 请求包中可以看见system身份发的限制 直接删了就行







Misc

0x01-Join our Discord!



swampCTF{w3lc0m3_t0_th3_swamp}



0x02- Pretty Picture: Double Exposure

图套图

https://samdeleon.github.io/UnhidingImages.html



swampCTF{m3ss4g3s_0r_c0de_c4n_b3_h1dd3n_1n_1m4g3s}





0x06 Blue

goblob 枚举blob



允许匿名访问 连上去直接读flag



OSInt

0x01- Party Time!

https://www.strerr.com/cn/exif.html

查exif信息

image.png
图片加载失败


swampCTF{29.65,82.33}





0x03- Party Time! Level 2

image.png
图片加载失败


image.png
图片加载失败


评论里面

swampCTF{Checkers_Yum}



Forensics

0x01-Homework Help

扫描磁盘后恢复已删除文件



swampCTF{n0thing_i5_3v3r_d3l3t3d}

0x02-Planetary Storage



提取payload部分解两次base



swampCTF{1pf5-b453d-d474b453}

0x03-Preferential Treatment

We have an old Windows Server 2008 instance that we lost the password for. Can you see if you can find one in this packet capture?

SMB导出配置文件Groups.xml



cpassword是密文

加密方式为AES 256,虽然目前AES 256很难被攻破,但是微软选择公开了该AES 256加密的私钥



借助该私钥,我们就能还原出明文。

swampCTF{4v3r463_w1nd0w5_53cur17y}



也可以kali自带工具一把梭

gpp-decrypt "dAw7VQvfj9rs53A8t4PudTVf85Ca5cmC1Xjx6TpI/cS8WD4D8DXbKiWIZslihdJw3Rf+ijboX7FgLW7pF0K6x7dfhQ8gxLq34ENGjN8eTOI="

0x04-MuddyWater


We caught a threat actor, called MuddyWater, bruteforcing a login for our Domain Controller. We have a packet capture of the intrustion. Can you figure out which account they logged in to and what the password is?

Flag format is swampCTF{<username>:<password>}






NTLMv2哈希破解,首先搜索关键字找登录成功的搜STATUS_SUCCESS

追踪流后提取对应信息hashcat跑一遍hackbackzip:pikeplace

从流量中提取NTLMv2哈希并破解步骤参照

https://zhuanlan.zhihu.com/p/52882041



Crypto

crypto1 Rock my Password



图片加载失败


Intercepted communications:

题目描述说,可能密钥重复使用 那?

截获的密文 1184个字符

只有m4也是 1184个字符,用m4 的明文和密文,异或出密钥,拿密钥再去异或题目的密文得到flag





PWN

Oh my buffer

login函数存在栈任意大小泄露

reg函数存在有0x12字节的溢出



思路:

通过login 函数泄露出stack ,canary,libcbase

通过reg函数,写rop,覆盖返回地址末位2字节为leave_ret地址,进行栈迁移



ps:思路应该是没问题,问题是远程libc没给,我就直接跑了一下,直接把flag搞出来了??



coredump_GAAS

image.png
图片加载失败


给了个core_dump文件,不会直接提取出来可执行文件,静态分析一波,发现就是gets,然后printf,没有canary和PIE,那就直接利用printf泄露libc,之后再接着打ret2libc就行了

notecard

查看程序保护

刚开始初始化了一个结构体,然后给了让输入用户名,之后就是三个功能的菜单:修改,打印还有退出

用户名这里可以泄露code_base

image.png
图片加载失败


漏洞点出在了对于idx没有检查负数,导致可以越界修改指针,造成任意位置读写

image.png
图片加载失败


image.png
图片加载失败


然后我们通过读got表拿到libc地址,因为got表可写,将puts改成system,再提前布置一下bin_sh,最后即可成功getshell,本题未给libc,因此泄露出地址 需要自己去查,本题远程是libc2.39

完整exp



Tinybrain



一个brianfuck语言的解释器

121d24adcbbb093dfa97d0737614964.png
图片加载失败


只有8个指令



在汇编语言中,使用数据段(.data 段)实现 switch-case 的跳转表(Jump Table)是一种优化手段,适用于 连续且密集的 case



程序有256*2个跳转表,没对指针做越界判断,可以改跳转表,且程序存在rwx段

所以思路如下:

写入shellcode,移动ptr到跳转表 ,修改 \xff 的跳转表为 shellcode 地址

输入/xff ,执行shellcode getshell





赛后补充

Misc

0x03-Read Between .tga Lines

算是比较新型的题目

tips: 两张图片横截混淆

image.png
图片加载失败


0x04-Lost In Translation

题目描述:

We found this program which we know has a flag somewhere, but nothing we've tried has been able to extract it. Can you figure it out?

To run the program, you can use NodeJS (recommended version 18.17.1 or higher).

image.png
图片加载失败


https://naokikp.github.io/wsi/whitespace.html

image.png
图片加载失败


0x05-Messages From The Stars

image.png
图片加载失败


音频左右通道不一样

提取数据

output.png
图片加载失败




OSint

0x02- On Thin ICE

转换得到hex

Ӧкмысӧд воськов. Мездлун.

拆分翻译得到 第八步 自由

根据google得到这是使命召唤七里面的台词

再第二关前苏联监狱

具体地点在沃尔库塔 ,得到地点我们就去googlemap查找这个地方的溜冰场

image.png
图片加载失败


image.png
图片加载失败


Forensics

0x05- proto proto

tips : 题目要求分析数据包中的协议对服务器地址进行交互

image.png
图片加载失败


payload

image.png
图片加载失败


1 条评论
某人
表情
可输入 255
用户kyMysqCRwN
2025-04-05 11:15 0 回复
能质询几个问题吗