워게임/247CTF

[247CTF] TRY AND CATCH - MISC / Python

SecurityMan 2023. 10. 20. 11:00

 

 247CTF 에서 제공하는

 

EASY 난이도의 MISC 문제

 

MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다.

 

반응형

 

 

문제페이지로 접속하면

 

Python flask 코드가 나온다.

 

웹으로 간단한 계산기를 구현한듯 한데

 

/calculator 경로에서

 

number_1, number_2 파라미터에 각각 숫자를,

 

operation 파라미터에 연산자를 넣으면 결과를 출력해주는것 같다.

 

 

이렇게 1+2를 넣으면

 

3으로 결과를 출력해준다.

 

제목이 Try and catch 인걸로 보아

 

뭔가 오류를 내야할 것 같은데

 

아주 쉽게 오류를 낼 수 있는 방법이 있다.

 

 

바로 0으로 나누는 것이다.

 

예외처리가 되어있지 않아

 

이렇게 바로 오류가 난다.

 

debug 모드가 활성화되어 있는지

 

디버그 화면으로 넘어갔다.

 

 

디버그 화면에서는

 

콘솔 아이콘을 클릭하면

 

저렇게 파이썬 콘솔을 사용할 수 있다.

 

 

os.listdir() 을 입력하면

 

디렉토리에 있는 파일들이 보인다.

 

flag.txt 파일이 있다.

 

 

f = open('flag.txt' ,'r')

print(f.read()) 로 해당 파일의 내용을 읽어주면

 

플래를 찾을 수 있다.

반응형