攻击过程
0.关闭随机地址空间的保护功能

1.编写攻击代码:

code 的值为课件上的值,这个值不一定能够使缓冲区溢出后调用到bug函数,因为我们不知道bug函数的代码会被放在哪个地址上。
2.在关闭gcc的栈保护功能下编译代码:

3.用gdb进行调试,查看main函数的汇编代码,找到调用copy后的下一指令的位置为0x0804849b

4.查看bug函数的汇编代码,找到函数开头的地址为:0x08048472
5.在调用strcpy语句处打上断点,运行程序到该语句前,查看此时esp的地址为:0xbffff0a0.

本文详细介绍了在Linux环境下进行缓冲区溢出攻击的步骤,包括关闭ASLR、编写攻击代码、编译、调试、确定地址、设计payload并成功调用目标函数的过程,揭示了栈帧变化和攻击原理。
最低0.47元/天 解锁文章
1297

被折叠的 条评论
为什么被折叠?



