워게임/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()) 로 해당 파일의 내용을 읽어주면
플래를 찾을 수 있다.
반응형