我有一份作业,需要分析这个C程序并回答三个问题。以下是该程序:
这些是问题:
int main()
{
// Define buffers to store username and password
char username[16];
char password[16];
// Read username and password from user input
printf("Enter your name: ");
scanf("%s", username);
printf("Enter your password: ");
scanf("%s", password);
printf("[SHOUTING OUT LOUD] Hello, %s!\n", username);
return 0;
}
这些是问题:
- 存在一个安全漏洞,可能会将密码打印出来。这是如何发生的?
- 如何使程序崩溃?
- 更正程序,以便不再有安全漏洞。