buuctf-pwn jarvisoj_level2题解(学习过程持续更新)
本人也是在自学过程,主要目的也是记录学习过程,有些地方做的不太好,都是按照自己理解进行讲解的(不专业),欢迎大家指出问题
此处我将文件命名为level2
checksec level2查看一下保护机制
可以看到这是一个32-bit的文件,NX保护开启
将文件拖入ida,按F5,将汇编代码转换成c语言代码,得到
可以看到明显的read栈溢出,需要填充0x88+4的垃圾数据直到return address,而且这里调用了system函数
按shift+F12,得到
可以看到这个文件里含/bin/sh
所以这是一个32-bit,自己拼接system("/bin/sh")的题型
返回虚拟机,开始写攻击脚本
nano exp.py
保存退出
python3 exp.py
ls
cat flag
得到flag
CTF2{ee90a497-b94f-463e-970d-034e4edd8f0c}
此题完