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);!
评论