ipwn

[tamuCTF] pwn2 본문

CTF's/tamuCTF

[tamuCTF] pwn2

ipwn 2018. 2. 26. 20:21



이번엔 pwn2 문제다.


난이도가 너무 낮아서 그냥 pwn3까지 하루에 다 올리겠다.


int __cdecl main(int argc, const char **argv, const char **envp)
{
  setvbuf(_bss_start, (char *)200);
  puts("I just love repeating what other people say!");
  puts("I bet I can repeat anything you tell me!");
  echo();
  return 0;
}



echo함수를 호출한다.


int echo()
{
  char s; // [esp+9h] [ebp-EFh]
 
  setvbuf(_bss_start, (char *)200);
  gets(&s);
  return puts(&s);
}



이러고 끝난다.


근데 print_flag함수를 만들어놨다.

그냥 호출만 안한다.


그래서 그냥 ret을 print_flag함수의 주소로 옮겨주면 된다.


s에서 ret까지의 거리는 0xEF+4 즉 243byte이다.

이번엔 눈치채고 함수 주소 막 때려박는 짓은 안했다 ㅋㅋ



함수 주소는 0x804854B이다.


이제 값을 넘겨줘보겠다.




이건 쉘 따기 쉬워보인다. 함 따봐야지 근데 libc안주면 어떻게 따야하는거지.. 로컬에서만 따야하는건가? 


gigem{3ch035_0f_7h3_p4s7}


pwn2

'CTF's > tamuCTF' 카테고리의 다른 글

[tamuCTF] you can run, you can hide  (0) 2018.02.26
[tamuCTF] Bender  (0) 2018.02.26
[tamuCTF] Veggies  (0) 2018.02.26
[tamuCTF] pwn3  (0) 2018.02.26
[tamuCTF] pwn1  (0) 2018.02.26
Comments