subject

Identify the security vulnerabilities in all of these code segments and, for each vulnerability, discuss at least one way that it could be improved.
a)
/* file leak */
int main(int argc, char *argv[]){
char *filepath = argv[0];
char *shellpath = argv[1];
file *passwords;
passwords = fopen(filepath, "r");
/* read password and do something with it */
/* . . */
/* execute alternative shell */
execl(shellpath, "shell", null);
}
b)
/*
assume the following function is written for an electronic storefront.
the user will enter the id of the item to be ordered, as well
as the quantity of units that they would like to purchase.
the program will then lookup the price for the price for the
item using a predefined function, and return
the total cost of the order.
*/
int gettotalcost(){
char itemid[9];
int price, unitsordered, cost;
printf(" enter the 9-digit id of desired item: ");
scanf("%s", & itemid);
/* lookup price according to the itemid */
price = getpricebyid(itemid);
printf(" enter the quantity of units to be ordered: ");
scanf("%d", & unitsordered);
cost = price * unitsordered;
return cost;
}
c)
/* the following is intended to return a user's full name
by concatenating the user's first and last name into a single string
and then returning that string. */
char *getfullname(char *firstname, char *lastname, int max_len){
char fullname[max_len];
strcpy(fullname, firstname);
strcat(fullname, " ");
strcat(fullname, lastname);
return fullname;
}
d)
/* the following code snippet runs through the list of cli arguments
entered and displays them to the console. */
int main(int argc, char *argv[]){
int i;
printf("you've entered the following arguments: ");
for(i = 0; i < argc; i++){
printf(argv[i]);
printf("\n");
}
/* */
}

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 03:20
Which of these is a benefit of social networking? oa. hiding your true identity from friendsob. avoiding talking to people in personoc. spending time with friends instead of studyingod. connecting with new people
Answers: 2
question
Computers and Technology, 23.06.2019 03:00
State 7 common key's for every keyboard
Answers: 1
question
Computers and Technology, 23.06.2019 12:20
When guido van rossum created python, he wanted to make a language that was more than other programming languages. a. code-based b. human-readable c. complex d. functional
Answers: 1
question
Computers and Technology, 23.06.2019 13:50
Explain how email technologies enable the exchange of messages between users. find out the typical parts of an email address and explain each part.
Answers: 1
You know the right answer?
Identify the security vulnerabilities in all of these code segments and, for each vulnerability, dis...
Questions
question
Chemistry, 06.10.2021 20:50
question
Computers and Technology, 06.10.2021 20:50
Questions on the website: 13722363