본문 바로가기

Wargame/io.smashthestack.org

level01

ssh level1@io.netgarage.org

password: level1


서버가 굉장히 느리다.


로그인을 하면, /levels 디렉토리에서 자신의 레벨 파일을 실행시키면 된다.

문제는 바이너리 형태로 제공되고 있는 것 같다.


level1@io:/levels$ ./level01

Enter the 3 digit passcode to enter: 123


처음 실행하면 세 숫자를 입력하라고 나오고 입력 후에는 꺼진다.


gdb로 까보면


(gdb) disassemble main

Dump of assembler code for function main:

   0x08048080 <+0>: push   $0x8049128

   0x08048085 <+5>: call   0x804810f <puts>

   0x0804808a <+10>: call   0x804809f <fscanf>

   0x0804808f <+15>: cmp    $0x10f,%eax

   0x08048094 <+20>: je     0x80480dc <YouWin>

   0x0804809a <+26>: call   0x8048103 <exit>

End of assembler dump




puts() 로 Enter the ~ 를 출력해주고,

fscanf() 로 수를 입력받은 후에 

cmp 로 문자열 비교 후 맞으면 YouWin 을,

exit() 호출


인것 같다.


저기 0x10f 주소값에 있는 값을 확인해보자


(gdb) print 0x10f

$1 = 271

(gdb)



271 과 비교를 한다.


따라서 바이너리 실행 후에 271 를 입력해주면


level1@io:/levels$ ./level01

Enter the 3 digit passcode to enter: 271

Congrats you found it, now read the password for level2 from /home/level2/.pass

sh-4.2$ # ////////

sh-4.2$  

sh-4.2$ cat /home/level2/.pass

3ywr07ZFw5IsdKzU














'Wargame > io.smashthestack.org' 카테고리의 다른 글

level6  (0) 2015.04.12
level05  (0) 2015.04.12
level04  (0) 2015.04.12
level3  (0) 2015.04.12
level02  (0) 2015.04.12