我正在尝试编写对 libc 漏洞利用的返回,但无法弄清楚我应该在堆栈中的哪个位置放置我的system()
调用的参数。
易受攻击的功能是
void func(char *str)
{
char buffer[12];
strcpy(buffer,str);
}
此函数的堆栈将如下所示:
-----------
str
-----------
return address
-----------
previous frame pointer
-----------
buffer
-----------
我知道我必须用system()
调用地址覆盖返回地址,但是我应该将其参数的地址放在哪里,为什么?
谢谢。