블로그 이전했습니다. https://jeongzero.oopy.io/
[pwnable.kr] input
본문 바로가기
워게임/pwnable.kr

[pwnable.kr] input

728x90

1. 문제


1) mitigation 확인 

 

 

2) 문제 확인 

소스코드를 보면 Stage 5 까지 입력을 알맞게 줘야 flag가 출력되는걸 알 수 있다. 

 

 

 

2. 접근방법


쉬운 문제이지만 pwntools argv, env, stderr 등을 인자로 줄수 있다는 것을 새로 알았다. 또한 소켓 통신시 요청을 보낼때 그냥 remote()로 열고 send로 보내도 가능하다. 

 

 

 

3. 풀이


from pwn import *
context(log_level="DEBUG")
args=[]
for i in range(100):
        args.insert(i,'A')
args[65]="\x00"
args[66]="\x20\x0a\x0d"
args[67]="9999"
with open('./stderr','w+') as fd:
        fd.write("\x00\x0a\x02\xff")

with open('\x0a',"w") as f:
        f.write("\x00\x00\x00\x00")

p=process(executable="/home/input2/input",env={"\xde\xad\xbe\xef":"\xca\xfe\xba\xbe"},argv=args,stde$

p.sendline("\x00\x0a\x00\xff")
p.sendline("")
s=remote("127.0.0.1",9999)
s.sendline("\xde\xad\xbe\xef")
p.interactive()

 

 

 

4. 몰랐던 개념


728x90

'워게임 > pwnable.kr' 카테고리의 다른 글

[pwnable.kr] md5 calculator  (0) 2020.09.23
[pwnable.kr] brainfuck  (0) 2020.09.23
[pwnble.kr] leg  (0) 2020.09.06
[pwnable.kr] shellshock  (0) 2020.09.06
[pwnable.kr] mistake  (0) 2020.09.06