본문 바로가기

CTF/hctf

HCTF [newbie] - NonPrintable

 

문제는 다음과 같다. nc주소와 무슨 파일이 주어지는데 먼저 nc부터 접속해보면,

 

 

 

 

위와 같이 한줄을 입력 받을 수 있당 다음으로 저 첨부된 파일을 열어보면

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- encoding:utf-8 -*-
import os,sys
 
 
msg = "Can you enter the \xde\xed\xbe\xef(\\xde\\xed\\xbe\\xef)?"
print msg
 
print ">> ",
inp = raw_input()
 
print "your input:",
print inp
 
if '\xde\xed\xbe\xef' in inp:
  with open('/flag''r') as f:
    print f.read() 
else:
  print "incorrect"
 
exit()
 

 

 

다음과 같은 파이썬 코드를 볼 수 있당 보니깐 저 nc 주소로 들어가면 이 파이썬 코드가 실행되어 조건에 맞으면 flag를 주는 거 같다. 보니깐 저 "\xde\xed\xbd\xef"를 넣어주면 되는 거 같은데 단순히 키보드로 입력을 주는게 아니라 python으로 입력을 주어야 할거 같다. 

 

 

1
2
3
4
5
6
7
8
from pwn import*
 
p=remote("prob.hctf.icewall.org"10102)
 
p.sendline("\xde\xed\xbe\xef")
 
p.interactive()
 
 

 

 

다음과 같이 sendline함수로 저 "\xde\xed\xbd\xef"를 보내면, 

 

 

 

 

위와 같이 flag를 얻을 수 있다.

 

 

FLAG : HCTF{beef steak is delicious}

'CTF > hctf' 카테고리의 다른 글

HCTF [newbie] - Sanity Check  (0) 2019.11.18
HCTF [newbie] - NetCat  (0) 2019.11.17