本站已正式迁移至 https://rocketma.dev 。原先网站托管在 GitHub Pages 上,在国内部分地区直接无法访问,每次和别人分享博客地址, 需要别人开梯子又不太好意思,于是我将博客迁移到了 Cloudflare Pages,再怎么说 Cloudflare 在国内至少能打开。
-
置顶
-
置顶
赛博杯新生赛 2024 - corrupted 出题博客
前段时间在看ELF头,正好新生赛到了,可以拿来出一道简单题,类似于ret2shell。对于程序头phdr来说,如果
p_type == PT::LOAD
,那么它就是负责加载程序段的。对于本题的情况,我把原来加载代码段的rx
改成了rwx
,这样代码段就变成可读可写可执行了。可以通过设置偏移量为-1394
修改verify
函数的内容。可以修改4次,总共32字节,足以写一shellcode了,直接拿shell。 -
置顶
赛博杯新生赛 2024 - StackLogout 出题博客
去年4月份左右 pankas 转发了一篇推文,讲PHP通杀的,我一看原文,竟然是glibc组件的bug,并且有cve编号。博客很详细,还更了整整3篇,不用调试就能看懂。自从看到CVE-2024-2691的缓冲区溢出,我就一直想着考上一题,这次趁着新生赛,它来了!
-
置顶
DASCTF 2024金秋十月 ChromeLogger 出题博客
在 ctf-wiki 上,记载了多个堆实现,除了常见的 ptmalloc,还有 tcmalloc 和 jemalloc, 于是我一时兴起,找了找有关文章,想借此出题。其中 jemalloc 比较难利用, 因为在拿到的堆块附近没有任何堆的元数据,反倒是 tcmalloc 在堆块附近有很多堆指针。于是我就随便改了一个指针,然后分配 2 次同样大小的堆块就实现了任意堆块分配。这么好的特性,拿来出题正好。
-
“安康杯” 青年网络安全技能大赛
安康杯上一道很简单的awdp pwn,虽然只要patch掉后门就可以拿防御分了,但是实际漏洞点不止1个。最后我培训的队伍成功patch了,取得了不错的成绩。
-
字节决赛北京游
决赛的形式是作品答辩,字节给了一系列选题,我们Emmmmmm2024选了蓝军:隐秘的通道,因为这个选题看起来最像传统的C2。但是大家都没什么时间做,最后只是糊弄糊弄。但是对我来说,这是极好的公费旅游机会!直接飞北京,见识见识其他队的成员,其他队的作品,与北京。
-
古老的基础设施:使用邮件提交补丁
最近Arch上的debuginfod更新了,也带来了bug...还好只是shell脚本的错误,还在我的能力范畴之内。花了一段时间如何通过邮件向上游提交补丁,最终解决了这个bug。
-
DASCTF 2024金秋十月 WhereIsMySauce 出题博客
debuginfod 是二进制调试当中非常好用的工具,可以从网上自动拉取调试符号和源码。题目名叫做 WhereIsMySauce,小小玩了一个谐音梗,Sauce 谐音 source, 实际上是在暗指 flag 就放在源码里。由于 debuginfod 是可以分发源码的, 而源码是最便于显示 flag 的方式,因此这道题的终极目标就是找到藏有 flag 的源码。
-
sctf2024 - GoCompiler
利用Go语言编译器中的
printf
漏洞,通过%hhn
逐字节修改内存,实现ROP链,最终执行/bin/sh
以获得shell。 -
sctf2024 - vmCode
编写字节码利用
open
、read
、write
系统调用,巧妙利用栈布局避免数据错位,成功获取flag。