fmt_got 题目: 1234567891011121314151617void main(void){ long in_FS_OFFSET; char local_118 [264]; undefined8 local_10; local_10 = *(undefined8 *)(in_FS_OFFSET + 0x28); setup(); puts("tell me wh 2025-12-30 pwn #fmt #ret2GOT
ret2csu 别急,还没写… 好了,现在写了… 额,还记得上次没有gadget的情况下我们采用了SROP,但是倘若没有syscall也没法控制rax呢,别急,还有一个办法,便是今天的ret2csu 一般的elf文件在libc_start_main中会存在libc_csu_init对libc进行初始化,而恰好libc_csu_init中隐含着两个我们可以利用的gadget… 一般长这样,gadget1: 1234 2025-12-25 pwn #gadget #ret2csu
hello pwn! 无聊 随便写写 用此博客来记录我在pwn学习过程中的一些题解与思考 希望你能有所收获 2026.1.1 最近学习了一些栈漏洞 本打算继续学堆 但是我要先摆几天 期末还没复习 不重要了 最讨厌的就是卷成绩这种事 2026.2.2 随记 不知道干嘛 还是奉行我的人生信条吧 做自己想做的 我感觉我的coding能力似乎也太差了,有点过于依赖ai了 关于怎么提升也没有什么头绪,也许需要学点数据结构与算 2025-12-25 pwn #Hello,World!
SROP 建议先看stack pivot再来这里… 题目来自XSWCTF2025初赛的一道pwn,考察了更加精妙的栈风水布局(基于stack pivot),同时融合着SROP和ORW ps:虽然比赛时我也没做出来(x_x) 先看一下题目逻辑 123456789101112131415void main(void){ undefined1 local_78 [108]; undefined4 l 2025-12-25 pwn #栈迁移 #ORW #内存布局 #SROP #ret2libc #寄存器
stack pivot 题目出自哪里已经记不真切了 只依稀记得这是我正式做的第一道pwn题,当时的我就像刚出新手村的菜鸟遇见了大boss一般,与其鏖战了数个日夜才终于拿下 来看看吧! 题目逻辑非常之简单 123456789undefined8 main(EVP_PKEY_CTX *param_1){ undefined1 local_58 [80]; init(param_1); puts(" 2025-12-25 pwn #栈迁移 #内存布局 #ret2libc
a_strange_rop 题目来自2025XSWCTF决赛的pwn题: a_atrange_rop 赛后才做出来… 题目为64位动态链接elf文件 保护为NX和canary 既然题目叫a_stranre_rop 我们先看看有没有gadget 1ROPgadget --binary ./a_strange_rop | grep "pop rdi" 找到了pop rdi; ret;这样的一个gadget 2025-12-25 pwn #gdb #内存布局