·本次实践的对象是一个名为pwn1的linux可执行文件。linux
·该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。函数
·该程序同时包含另外一个代码片断,getShell,会返回一个可用Shell。正常状况下这个代码是不会被运行的。咱们实践的目标就是想办法运行这个代码片断。
·本次试验将学习两种方法
①利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。
②手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。学习
·熟悉Linux基本操做,能看懂经常使用指令,如管道(|),输入、输出重定向(>)等。对象
·理解Bof的。blog
·能看得懂汇编、机器指令、EIP、指令地址。字符串
·会使用gdb,vi。get