Sploitfun无法在GDB中“形成”基于堆栈的缓冲区溢出

2024-04-26 00:55:38 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试在以下位置浏览教程: https://sploitfun.wordpress.com/2015/05/08/classic-stack-based-buffer-overflow/

我试着和他在GDB做的一样,结果是:

Input:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Program received signal SIGSEGV, Segmentation fault. 0x00000000004005bd in main (argc=2, argv=0x7fffffffdda8) at vuln.c:9 9 }

如果有人知道原因,我很乐意听听。你知道吗

提前谢谢。你知道吗

编辑:我安装了32位的Ubuntu,因为-m32不能很好的工作,它和32位的Ubuntu配合得很好。你知道吗


Tags: httpscominputstackubuntubufferwordpress教程
1条回答
网友
1楼 · 发布于 2024-04-26 00:55:38

anyone's got any idea why

因为它应该是。从您的参考:

$ gdb -q vuln
Reading symbols from /home/sploitfun/lsploits/new/csof/vuln...done.
(gdb) r `python -c 'print "A"*300'`
Starting program: /home/sploitfun/lsploits/new/csof/vuln `python -c 'print "A"*300'`
Input:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Program received signal SIGSEGV, Segmentation fault.
0x41414141 in ?? ()
(gdb) p/x $eip
$1 = 0x41414141

现在,你观察到的结果不同了:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004005bd in main (argc=2, argv=0x7fffffffdda8) at vuln.c:9 9 }

但这是因为您是在64位模式下构建二进制文件的,而原来的二进制文件是在32位模式下构建的。你知道吗

如果将-m32标志添加到compile和link命令中,您应该能够更紧密地遵循原始命令。你知道吗

相关问题 更多 >