ipwn
[tamuCTF] pwn2 본문
이번엔 pwn2 문제다.
난이도가 너무 낮아서 그냥 pwn3까지 하루에 다 올리겠다.
int __cdecl main(int argc, const char **argv, const char **envp) { setvbuf(_bss_start, (char *)2, 0, 0); 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 *)2, 0, 0); gets(&s); return puts(&s); } |
이러고 끝난다.
근데 print_flag함수를 만들어놨다.
그냥 호출만 안한다.
그래서 그냥 ret을 print_flag함수의 주소로 옮겨주면 된다.
s에서 ret까지의 거리는 0xEF+4 즉 243byte이다.
이번엔 눈치채고 함수 주소 막 때려박는 짓은 안했다 ㅋㅋ
함수 주소는 0x804854B이다.
이제 값을 넘겨줘보겠다.
굳
이건 쉘 따기 쉬워보인다. 함 따봐야지 근데 libc안주면 어떻게 따야하는거지.. 로컬에서만 따야하는건가?
gigem{3ch035_0f_7h3_p4s7}
'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