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