5레벨입니다...  1/4를 걸어왔네요 ㅎㅎ

힌트를 먼저 보고 시작합시다!

/usr/bin/level5 프로그램은 /tmp 디렉토리에 level.tmp라는 이름의 임시파일을 생성한다.
이를 이용하여 level6의 권한을 얻어라.

라고 합니다.

저 디렉토리로 가보죠

setuid의 실행 가능한 파일이라고 합니다.

파일을 읽을 권한은 없다네요.

한번 파일을 실행해보고 /tmp 디렉토리로 가봅시다.

mysql.sock밖에 없네요... 파일이 실행되고 끝나면 사라지나 봅니다...

아니면 이렇게 사용할 수 있지 않을까요?

 

mypass 라는 시스템 명령어를 사용하는 프로그램을 만들고 level.tmp을 건드리려 할 때 mypass를 건드리도록 심볼릭 링크라는걸 걸어줬습니다.

 

이건 아닌가봅니다...

그러면 임시파일에 무언가를 작성할 때 임시파일이 아닌 다른 텍스트파일에 작성하게 해봅시다!

이렇게 대충 만들어줬습니다!

 

이제 실행을 한 뒤 파일을 다시 열어보면?

what the hell! 답이 그대로 적혀져 나오네요? ....이렇게 하는게 아닌줄 알았는데... 후우

 

아무튼 문제를 풀었습니다!

끄읕

+ Recent posts