반응형

해커스쿨 ftz 문제풀이 / level5

 

level6의 권한을 얻는 문제입니다. 

 

/usr/bin/level5 프로그램은 level6에 setuid가 설정되어 있습니다.  

이 프로그램을 실행시키면 /tmp 디렉토리에 level5.tmp를 생성한다고 합니다. 

하지만, /tmp/에 가보면 level5.tmp 라는 파일은 찾을 수 없습니다. 

 

이는 /tmp/level5.tmp를 생성하고 바로 지우는 것을 유추할 수 있습니다. 

이 파일을 지우는 것은 /tmp/level5.tmp 파일이 level6 권한으로 만들어 졌기 때문입니다. 

그러면 /tmp/level5.tmp 파일을 level5의 권한으로 만들면, /usr/bin/level5 프로그램 실행시켜도 해당 파일이 삭제되지 않을 것입니다. 

 

level5.tmp를 level5의 권한으로 생성합니다. 

파일 내용 없이 만드니깐 크기는 0이 됩니다. 

 

그리고 나서 /usr/bin/level5를 실행시킵니다. 

그러면 /tmp/level5.tmp 파일 내용을 업데이트 하였지만, 이 파일에 대한 소유자는 level5이기 때문에 삭제하지는 못하게 되어 파일이 그대로 남아 있습니다. 파일 크기를 보면 약간 증가한 것을 볼 수 있습니다. 

이 파일의 내용을 보면 다음 레벨의 패스워드가 있는 것을 볼 수 있습니다.

반응형
반응형

overthewire.org 문제 풀이 / Bandit Level 5 → Level 6

 

 

 

 

 

우선 inhere 디렉토리에서 ls 명령어를 입력해보면 maybehere00부터 maybehere19까지의 디렉터리가 있습니다. 

하나하나 들어가서 파일들을 찾는 것은 시간이 오래걸릴 듯 하여, find 명령어를 사용합니다. 

 

find 명령어에는 파일 크기를 필터링 할 수 있습니다. 

크기가 1033 byte이니깐, -size 옵션에 1033c를 입력해 필터를 걸고 파일을 찾습니다. 

이때 1033c의 c는 바이트를 나타냅니다. 

그러면 ./maybehere07 디렉터리의 .file2 파일만 결과로 출력됩니다. 

이 파일을 cat으로 내용을 확인해보면 패스워드가 있는 것을 볼 수 있습니다. 

 

overthewire.org/wargames/bandit

 

OverTheWire: Bandit

We're hackers, and we are good-looking. We are the 1%. Bandit The Bandit wargame is aimed at absolute beginners. It will teach the basics needed to be able to play other wargames. If you notice something essential is missing or have ideas for new levels, p

overthewire.org

 

반응형

+ Recent posts