CTF write_up/Hack CTF

[Pwn] Basic_BOF #2

ws1004 2019. 3. 25. 21:07

 

파일을 기드라로 열어보면 다음과 같습니다

일단, 입력값이 들어가는 local_94의 주소를 보면 

 

 

0xffffff74는 -140입니다. 그렇다면 ebp-140 이라는 뜻입니다.

 

입력하기전에 공간이 더 생기는데 local_14 변수에 sup함수를 넣습니다. 

그러면 -140의 공간뿐만아니라 local_14와 sup의 공간까지 추가됩니다.

 

local_14는 다음과 같은 주소를 가지고 있습니다.

-0xC 즉, -12라는 주소 = EBP-C

 

그렇다면 채워야 하는 공간은 local_94 - sup = 140 -12 = 128 

 

128이라는 공간이 생기게 됩니다. 

 

우리가 얻어야 하는 것은 flag이므로 shell 코드가 적힌 함수의 첫 주소인 

 

빈공간 128개는 A로 넣어주고 0804849b를 RET에 입력해 주면 됩니다.

 

Flag : HackCTF{h3y_dud3_600d_f0r_y0u}

 

 

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

pwntools를 이용해서 문제를 풀어보았습니다.