软件为什么会有漏洞
软件为什么有漏洞软件为什么会有漏洞,严重的漏洞更甚至会被坏人用来执行恶意代码,造成巨大的经济损失。
我们举一个简单例子,这个例子是达内C语言培训时,一位老师提到的。具体如下:
#include <stdio.h>
#include <unistd.h>
void bar(void)
{
printf("Hello,World\n");
_exit(0);
}
void foo(void)
{
void *a;
a=(void *)bar;
}
int main()
{
foo();
return 0;
} 代码解释:main( )函数调用了foo( )函数;foo( )函数界说了一个数组,并且越界赋值;另有一个孤零零的bar( )函数,向终端输出Hello World,貌似没有在任何地方被调用,好像没有什么作用。
代码作用已经弄明确了,下面看运行效果,测试环境是centos32bit
centos32bit测试效果 效果是不是很诧异!!!源代码中并没有调用bar( )函数,为什么在程序运行时调用了bar( )函数呢ÿ
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]