有如下例子:
int check( char *name)
{
int x=0;
char small_buffer[10];
if(strcmp(name,"admin")==0)
x=1;
strcpy(small_buffer,name);
return x;
}
以上代码存在一个缓冲区溢出问题,只要攻击者输入一个超过9个字符的数据作为登录名,都将导致缓冲区溢出.
int check( char *name)
{
int x=0;
char small_buffer[10];
if(strcmp(name,"admin")==0)
x=1;
strcpy(small_buffer,name);
return x;
}
以上代码存在一个缓冲区溢出问题,只要攻击者输入一个超过9个字符的数据作为登录名,都将导致缓冲区溢出.
本文详细分析了编程中常见的缓冲区溢出问题,解释了其原理及危害,并提供了有效的防范策略,旨在提升程序员的安全意识与实践能力。
6930

被折叠的 条评论
为什么被折叠?



