본문 바로가기

CTF/picoCTF

echo back





point 


                                                                                                                           1. FSB(Format String Bug)

                                                                                                                           2. GOT overwrite


* FSB 자세한 정리 : https://pu1et-panggg.tistory.com/22


어디부터 쓸 수 있는지 확인



총 크게 두 가지 방법이 있다.


1. got주소 알아내서 FSP로 got overwrite  

printf@got <- system@plt 

puts@got <- vuln주소(0x80485ab) 


gdb elfsymbol + readelf -s echoback


printf@got : 0x804a010

puts@got : 0x804a01c

system@plt : 0x8048460

vuln : 0x80485ab


1-1. 주소의 하위 2byte 후 상위 2byte overwrite

ex) 0x804a010일 경우,  0xa010 후 0x804 overwrite



 

1-2. 주소의 상위 2byte 후 하위 2byte overwrite

ex) 0x804a010일 경우,  0x804 후 0xa010 overwrite




2. ELF사용해서 FSP로 got overwrite


binary = ELF('./echoback')

plt 주소는 binary.symbols['plt.system']

got 주소는 binary.symbols['got.puts']









'CTF > picoCTF' 카테고리의 다른 글

rop chain  (0) 2019.01.11
buffer overflow 3  (0) 2018.12.29
authenticate  (0) 2018.12.28
keygen-me1  (0) 2018.11.18
assembly4  (0) 2018.11.18