一实验步骤
由于机器是64位,而实验是在32位环境下进行,因此,先配置实验环境。
sudo apt-get update
sudo apt-get install -y lib32z1 libc6-dev-i386
sudo apt-get install -y lib32readline-gplv2-dev安装32位C语言环境。
利用sudo sysctl -w kernel.randomize_va_space=0指令关闭随机化地址,方便查找地址。
sudo su
cd /bin
rm sh
ln -s zsh sh
使用zsh代替 /bin/bash来重现缓冲区溢出的情形。
在编译时利用fno-stack-protector关闭堆栈保护机制,-z execstack 允许执行栈,实现编译。
二实验结果:
原文地址:https://www.cnblogs.com/x20165335/p/9786198.html
时间: 2024-10-09 08:06:30