cbctf2023题解总结,包括多种解题方法和技巧,如逆向、编码绕过、爆破等。
-
cbctf2023 - heap1
利用off-by-one错误通过修改全局变量实现对目标地址的控制,最终成功利用该漏洞。
-
cbctf2023 - reg
通过分析CTF题目,利用ROP链和libc中的gadget,构造了execveat("/bin/sh")的payload以获取shell。
-
cbctf2023 - The Legend of Shellcode
通过构造shellcode并利用堆栈控制,成功实现对目标程序的远程代码执行。
-
cbctf2023 - 123go
通过利用格式字符串和scanf漏洞,成功控制返回地址,实现代码执行。
-
DASCTF 4月赛 - exception
利用C++异常处理漏洞,通过修改
main
函数返回地址实现提权。 -
DASCTF 4月赛 - dynamic_or_static
通过栈溢出和libc泄露,绕过限制并成功读取flag。
-
puts中调用的got表
在千岛湖团建时,讨论了强网杯中
_exit
题目涉及的puts@got@libc
,发现与strlen
相关。通过分析glibc
的ifunc
机制,得知strlen
的优化版本__strlen_avx2
嵌入库中,利用Partial RELRO可修改跳表*ABS*
,从而在执行puts
时运行任意代码。这与近期的xz风波类似,表明多个库函数存在利用可能性。 -
greatwall2024 初赛 - votestore
通过修改堆块和GOT表,利用libc漏洞获取shell。
-
greatwall2024 初赛 - kawayi
利用双重释放和使用-after-free漏洞,通过tcache dup将free_hook指向system,最终获取shell。