FTZ 5번 문제
Hint

/usr/bin으로 가서 level5를 찾아보니 Set uid가 설정 되어 있다.

이 문제는 레이스 컨디션을 이용하는 문제로 level5 프로그램을 실행
시켜 level5.tmp의 내용을 가져와야 한다.
※ 레이스 컨디션(Race Condition) : 공유 자원에 대해 여러 개의 프로세스가 동시에 접근하기 위해 경쟁하는 상태.
주 공격 대상은 root나 권한이 높은 사용자의 Setuid가 설정된,
임시 파일을 생성하는 프로그램이다.
for.c의 소스코드
level5 프로그램을 1000번 이상 실행시킨다.
ln -s 란 소프트 링크(심볼릭)를 거는 명령어고
소프트 링크는
원본 파일의 정보를 가져올 수 있으며
이 문제에서는 test라는 파일에 leve5.tmp에 대한 소프트 링크를
걸어 내용을 가져올 예정이다.
만들어 낸 파일들을 컴파일 한다.
test라는 이름의 더미 파일을 만든다.
&를 사용해 for 과 for2를 실행시킨다.
※ 리눅스에서의 & : 앞의 명령어를 백그라운드로 돌리고 동시에
뒤의 명령어를 실행
실행화면, 실행결과
test 파일의 내용