c ++ BOF漏洞在这段代码中请大家解释一下

时间:2014-10-27 08:02:09

标签: c++

此代码中有哪些漏洞请有人解释我

#include <stdio.h>
#include <string.h>

int main(int arc, char* argv[])
{
    char buff[50];
    strcpy(buffer, argv[1]);
    printf("You are string: %s", buff);
    return 0;
}

1 个答案:

答案 0 :(得分:1)

argv[1]可能不存在,或者可能超过50个字符=&gt;问题。
解决方案:检查argc >=2strlen(argv[1])<50

否则,您的程序有未定义的行为,
意味着它可以做一些奇怪和意外的事情 此外,恶意人类可能会注入自己的代码