ProgramaçãoC
- (COMPERVE 2019)
O chefe do departamento de TI da Security10 enviou para João, por e-mail, o programa
simples em linguagem C, mostrado abaixo, com intuito de aferir os conhecimentos do novo
contratado sobre segurança de software.
Junto ao código, estava a mensagem: “João, por favor, verifique esse código. Sei que estamos fazendo algo errado e, com isso, expondo uma vulnerabilidade de segurança comum em programação, mas não consigo perceber qual. Falamos mais sobre isso na segunda”. João, ao analisar o código enviado, concluiu que esse apresenta como vulnerabilidade
L1. void LerParametros (char *arg);
L2. void main (int argc, char *argv[]) {
L3. if (arg > 1){
L4. printf ("Parametros informados: %sn", argv[1]);
L5. LerParametros (argv[1]);
L6. }
L7. }
L8. void LerParametros (char *arg) {
L9. char buffer[10];
L10. strcpy (buffer, arg);
L11. printf (buffer);
L12. }
Junto ao código, estava a mensagem: “João, por favor, verifique esse código. Sei que estamos fazendo algo errado e, com isso, expondo uma vulnerabilidade de segurança comum em programação, mas não consigo perceber qual. Falamos mais sobre isso na segunda”. João, ao analisar o código enviado, concluiu que esse apresenta como vulnerabilidade
A) uma Falha de Segmentação (do inglês, Segmentation Fault ) na linha L5.
B) uma Falha de Segmentação (do inglês, Segmentation Fault ) na linha L4.
C) um Estouro de buffer (do inglês, Buffer Overflow ) na linha L9.
D) um Estouro de buffer (do inglês, Buffer Overflow ) na linha L10.
Próximo:
EXERCÍCIOS - Exercício 78
Vamos para o Anterior: Exercício 76
Tente Este: Exercício 48
Primeiro: Exercício 1
VOLTAR ao índice: Programação