我正在尝试在我的Ubuntu 16.04机器上重新创建一个缓冲区溢出攻击。但是无论我尝试什么,我总是收到错误信息“segmentation fault(core dumped)”。
我已经通过使用以下方法禁用了内存随机化:
sysctl kernel.randomize_va_space=0
我也尝试了编译程序时使用这些标志:
-fno-stack-protector
-z execstack
-D_FORTIFY_SOURCE=0
添加所有这些标志后,我编译出以下内容:
gcc -z execstack -g -fno-stack-protector -mpreferred-stack-boundary=2 -D_FORTIFY_SOURCE=0 -o code code.c
但似乎什么都不起作用。我是否还需要禁用其他保护措施才能成功重现我的缓冲区溢出呢?