一、缓冲区溢出漏洞
往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令。这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段。
二、实验过程
实验前的准备——安装32位操作环境
为了方便观察汇编语句,我们需要在 32 位环境下作操作。
sudo apt-get update
sudo apt-get install -y lib32z1 libc6-dev-i386
sudo apt-get install -y lib32readline-gplv2-dev
过程截图:
第三周学习总结:
- 寄存器的用途见书
- 寻址方式
- mov(b字节,w字,l双子,q四字)。
- pushq,popq操作的均为四字。
- SAL和SHL的效果是一样的。
- 理解函数调用栈帧的概念,并能用GDB进行调试