缓冲区溢出实验
具体过程严格按照https://www.shiyanlou.com/courses/231/labs/749/document上面所描述。
首先配置好环境。
漏洞程序
存漏洞程序stack.c,如图,
需对其权限做更改,更改前后的权限变化如图,
攻击程序
同样是按照文档中的代码存一个exploit.c,先存着。
反汇编漏洞程序stack
使用gdb,在这里我遇到了问题,因为在设置断点时输错了地址,所以在输入r时执行失败,显示无法插入断点。
解决方法:使用help all
查看gdb命令,找到清除断点的命令删除所有断点,重新设置,如图,
计算shellcode地址
我的str地址是0xffffd350,加上十进制的100后为0xffffd3b4,对应修改exploit.c源文件,如图,
执行结果
编译执行,结果如图,