不知道为啥题目变了顺序,之前第二题不算这个格式化字符串的题,现在还没学到格式化字符串,先放放。
这个题意思就是个栈溢出问题
和上边一样,先分析文件。
然后放入64位ida分析
这有个后门函数
显然是个栈溢出,这个buf离ebp0x80个字节,输入0x88个字符能覆盖到返回地址前,然后跳到后门函数修改返回地址。
成功。
level2
这个题可以说是上题的加强题,这个没有后门函数,不过庆幸的是
在ida中shift+F12能查找字符串
有/bin/sh plt有system
这两个就像个玩具的零碎东西,需要我们拼起来才能得到system("/bin/sh")
这就是ROP如下
其中p32(0)是为了平衡栈帧。
get flag