说来惭愧,做了这么就才终于将这道简单的栈溢出做出来了。而且还是在师傅的多次帮助下。
找了一天的漏洞。刚开始一直以为第一个scanf上有栈溢出,结果怎么调也调不出来,最后在师傅的指引下找到了溢出点,最终成功shell
。这是一个悲伤的故事。好多的基础的东西都忘光了。连linux_server需要使用root权限运行都忘了。其实找到漏洞之后,后面的事情就变得简单了。但是对于我这种新手来说,在简单的事情也会相当的耗时耗力。
万事开头难,就以此开始CTF-PWN的旅行!我会从头开始做一个介绍,欢迎入坑!
先说说,该有哪些基本工具。Python环境,IDA,checksh.sh(一个检查保护的脚本)。
直接切入正题
首先检查一下程序都开了哪些保护,STACK CANARY就是栈保护,也就是无法简单的栈溢出覆盖返回值,额~大家查查吧。
可以参考下。
这题呢开了NX也就没法执行shellcode了,可能有栈溢出。其实就是栈溢出哈!@
毫不犹豫的
sudo ./linux_server
socat tcp-l:10000,reuseaddr ,fork system:./pwn2 (socat可以通过sudo apt-get install socat安装)
那么前期的准备就准备好咯。要我解释吗?
还是讲讲吧。额~。linux_server是和IDA配合使用的用