티스토리 뷰

심심해서 시작한 Exploit Exercises!

Nebula level10






About


access() 시스템 콜의 요구사항을 만족하면 바이너리를 업로드해주는, setuid가 설정된 /home/flag10/flag10 바이너리가 있다. 



Source code




Solve


access() 시스템 콜로 파일에 대한 권한을 검사한다.

하지만 파일을 여는 것은 그 이후에 이루어진다. (54줄)


레이스 컨디션을 이용하여 access() 시스템 콜 호출 후 파일을 바꿔치기한다.



* 레이스 컨디션 (race condition)

한정된 자원을 이용하려는 여러 프로세스가 서로 경쟁을 벌이는 상황을 말한다.

여러개의 프로세스가 동시에 실행된다면, 결과 값이 달라질 수 있다.

댓글
댓글쓰기 폼
공지사항
Total
8,974
Today
4
Yesterday
5
링크
TAG
more
«   2019/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
글 보관함