완료됨
execve함수를 사용후에 exit함수를 사용하는 이유?

execve함수를 이용하여 쉘을 실행시키는 것은 이해가 됬습니다.
근데 어셈블리어를 보니 execve함수를 실행시킨 이후에 exit(0)함수를 호출시키는데 따로 호출시키는 이유가 있나요?

#시스템_해킹 #공격기법
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
avatar
Sechack
2024 Invitational Contenders

굳이 호출 안해도 상관없긴 한데 exit를 호출하지 않으면 execve호출 이후 돌아갈 return address가 비정상적이어서 segmentation fault가 발생하며 프로그램이 비정상 종료됩니다. 어차피 목표는 셸따는것이므로 셸을 딴 이후에 뭐 어떻게되던 상관은 없는데 그냥 깔끔하게 종료하기 위해서 붙여준겁니다.

2021.08.04. 19:57