CTFshow pwn31 wp
  YOkriIV1Am1d 2024年04月01日 26 0

PWN31
使用checksec查看保护

发现除了canary剩下保护全开,那么就没有前面几个题目那么简单了,ida打开看见他给了我们main函数地址

虽然开了pie但是在他们之间的偏移是一定的,那么我们就可以通过他给的main函数的真实地址减去偏移得到文件(elf)的基地址,然后puts_plt puts_got表地址就有了。
在ctfshow函数里面有一个栈溢出漏洞但是我们要找一下溢出偏移,因为pie最好以gdb动态调试为准。

在gdb中我们先生成300个字符用来计算偏移

然后再输入的时候进行输入最后会报错因为栈溢出了没有这个返回地址,那么我们可以通过cyclic -l 报错地址 来查找偏移

得到偏移是140也就是填充140个字节可以到返回地址,但是这个题有一个注意的地方,就是不能覆盖了ebx,ebx里面存的是got表地址

它是通过这个函数来的,功能是将下一条指令的地址赋给ebx寄存器

然后就是正常的ret2libc啦,exp在这里

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年04月01日 0

暂无评论

推荐阅读
YOkriIV1Am1d