BUUCTF-PWN-jarvisoj_fm
BUUCTF-PWN-jarvisoj_fm
checksec

IDA

在main函数中可以看到,只要满足第12行的if条件,就可以拿到shell。而第9行中的read操作不可溢出,因为buf的长度为0x5C,但读入限制的长度为0x50,所以不能进行栈溢出。但是第10行使用了printf函数,那么我们可以考虑使用格式化字符串漏洞,从而使得下面的if条件成立。
偏移计算

0x61616161代表了aaaa,所以可以数一下偏移为11。
EXP
1 | from pwn import * |
结果

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Clerk.Max(well);!
评论







