代码:
#include <stdio.h>
int
more_arg(
a,
b,
c,
d,
e)
{
char dst[
100
]
=
0
};
sprintf(dst,
"%d%d%d%d%d\n"
,a,b,c,d,e);
}
void main()
a1
1
;
a2
2
a3
3
a4
4
a5
5
more_arg(a1,a2,a3,a4,a5);
使用下面的命令进行编译
mips
-
linux
gnu
gcc
fno
stack
protector .
/
more_argument.c
o test
static
ggdb
z norelro
最后利用checksec 检查堆栈保护,发现canary的值为yes,编译选项fno-stack-protector不生效 利用ida打开编译好的二进制文件,随便找一个函数,也有栈保护 有木有大佬遇到过同样的问题
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!