我正在尝试使用 Ubuntu 16.04 在我的机器中重新创建缓冲区溢出攻击。但无论我尝试什么,我总是收到错误“分段错误(核心转储)”
我已经使用以下方法禁用了内存随机化:
sysctl kernel.randomize_va_space=0
Run Code Online (Sandbox Code Playgroud)
我在编译我的程序时也尝试过这些标志:
-fno-stack-protector
-z execstack
-D_FORTIFY_SOURCE=0
Run Code Online (Sandbox Code Playgroud)
添加所有这些标志,我最终编译了以下内容:
gcc -z execstack -g -fno-stack-protector -mpreferred-stack-boundary=2 -D_FORTIFY_SOURCE=0 -o code code.c
Run Code Online (Sandbox Code Playgroud)
但似乎没有任何效果。为了成功重新创建缓冲区溢出,是否需要禁用任何其他保护?