作为序言,这是一个学校作业,因此用于教育目的。
我试图使用缓冲区溢出漏洞来注入指向函数的返回地址。扭曲是,函数需要一个参数,它应该在执行时存储在edx中。我的想法是使用以下汇编代码:
mov $0xdeadbeef, edx
push $0xabcdef
ret
其中deadbeef是我需要的值并且abcdef函数的地址。
我构造了一个有效载荷,如下所示:2个字节的填充,15个字节的shellcode,另外7个字节的填充,4个字节的返回地址在堆栈中(基本上我将发送回指针的指针)我只是输入缓冲区并告诉他将其解释为指令)。我已经尝试了几个小时,但似乎根本不起作用(segfault)。任何想法/指针?