Grayshell:一些基本的shell代码,当我学习
当我学习 如何运行 Example1 : Buffer_overflow 时,首先要注意我们从用户权限“$”开始操作。使用以下命令编译和运行程序:
gcc overflow.c -ggdb -mpreferred-stack-boundary=2 -fno-stack-protector -o overflow
$gdb -g overflow
(gdb) run
(gdb) info req eip
(gdb) q
Example2:Meet.c 也是类似的过程,从用户权限“$”开始,编译命令如下:
gcc meet.c -ggdb -mpreferred-stack-boundary=2 -fno-stack-protector -z execstack -o meet
注意到`和'之间的区别,并运行以下命令:
perl -e 'print "x31xc0x31'
为了更深入地了解缓冲区溢出及其攻击方式,可以参考这篇关于 buffer overflow 的文章,或者浏览 Buffer Overflow Attacks 的详细讲解。这些资源提供了丰富的案例和技术细节,帮助理解缓冲区溢出的防御策略和攻防实战。还有一篇 A Buffer Overflow Study 的研究文章,适合深入学习。