티스토리 뷰

심심해서 시작한 Exploit Exercises!

Nebula level10






About


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



Source code




Solve


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

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


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



* 레이스 컨디션 (race condition)

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

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

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
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
글 보관함