近日在看 shellcode 方面的东东,但看的一头雾水。我写过不止一个包含获得shell的test.c 代码文件,但每个的成功执行都有它的前提条件,不是“关闭 ASLR”就是 要加 “-z execstack”。我想请教一下大家,如何实现一个符合以下3个条件的获得shell的代码文件(环境:ubuntu 12以上)?
1、已开启 SSP(没有使用 -fno-stack-protector 编译选项)
2、已开启ASLR(echo 2 > /proc/sys/kernel/randomize_va_space)
3、关闭“可执行栈”(没有使用 -z execstack 编译选项)
即只缺省使用如下命令:
gcc -o test test.c
但该二进制文件 test 在执行后可以获得 shell.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课