本次国赛暨长城杯半决赛,我们0RAYS战队人人有输出,最终取得了团体第14名的成绩。以下是我在比赛中的一些题解。
-
国赛 x 长城杯 初赛 - Anyip
通过控制队列的
rear和树节点,实现了对logname的覆盖,最终输出flag。 -
国赛 x 长城杯 初赛 - avm
利用程序逻辑错误实现越界存取,通过ROP链获取shell。
-
国赛 x 长城杯 初赛 - anote
通过堆溢出覆盖虚表并调用后门地址,成功获得shell。
-
优化一些 msys2 上 git-sdk 冗余的东西
通过编写
rm-git-sdk函数删除git-extra包中引发错误的profile,解决了Git for Windows SDK启动时的快捷方式创建和zsh补全错误。 -
TPCTF 2025 - where is my rop
利用
login.cgi的Authorization头溢出漏洞,通过构造payload实现命令注入,最终获取flag。 -
TPCTF 2025 - EzDB
利用page存放record方式的漏洞实现堆上任意读写,泄露heap和libc地址,最终通过控制堆块和伪造文件结构打House of Apple 2获取flag。
-
在硬盘之间迁移 Arch Linux
为了腾出一块硬盘用来装在香橙派上,也为了获得更好的数据安全性,我购买了一块致态,并迁移了我的系统。虽然当时我的确是看的wiki安装的系统,但是过了一年半载后,我发现自己已经忘得差不多了。在重读wiki,迁移了系统后,我又发现grub有些“不安全”,却不曾想为了让grub“安全”有些麻烦...在帮同学装ArchLinux的时候,又遇到了新的麻烦...
-
第三届阿里云CTF - runes
通过利用
prctl的PR_SET_MDWE系统调用,禁止mmap分配可执行内存来击败恶龙,并通过brk和execve获取shell。 -
第七届浙江省大学生网络与信息安全竞赛 决赛 - reverse_stack
利用正向增长栈泄露 libc_base 和 mmap_base,覆盖
fs:[0x30]绕过PTR_MANGLE,伪造__call_tls_dtors的 destructor 为 mangledsystem("/bin/sh")实现退出时 getshell。