通过随机数预测和计算偏移,控制bunny hp,实现对返回地址的修改,利用OneGadget获取shell。
-
国赛 x 长城杯 半决赛
本次国赛暨长城杯半决赛,我们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 1获取flag。
-
在硬盘之间迁移 Arch Linux
为了腾出一块硬盘用来装在香橙派上,也为了获得更好的数据安全性,我购买了一块致态,并迁移了我的系统。虽然当时我的确是看的wiki安装的系统,但是过了一年半载后,我发现自己已经忘得差不多了。在重读wiki,迁移了系统后,我又发现grub有些“不安全”,却不曾想为了让grub“安全”有些麻烦...在帮同学装ArchLinux的时候,又遇到了新的麻烦...
-
第三届阿里云CTF - runes
通过利用
prctl
的PR_SET_MDWE
系统调用,禁止mmap
分配可执行内存来击败恶龙,并通过brk
和execve
获取shell。