분류 전체보기
-
-
[Study] Google CTF 2022 LOG4J WriteupCTF/Google CTF 2022 2022. 7. 15. 19:42
이번 구글 CTF는 참가하지 못했다. 대회 종료 후 리뷰해보았다. 제공되는 URL(https://log4j-web.2022.ctfcompetition.com/) 에 접근해보면 아래와 같은 페이지가 나타난다. 주어진 파일을 분석해보자. 우선 pom.xml 파일에서 사용중인 log4j의 버전을 확인 할 수 있다. 2.17.2 버전을 사용하는 것으로 보아 얼마전에 떠들썩했던 JNDI 등을 활용한 log4jshell 이라고도 불렸던 취약점을 이용 하는 것은 아닌듯 하다. 프론트엔드 소스코드를 분석해보자. import os import subprocess from flask import Flask, render_template, request app = Flask(__name__) @app.route("/", m..
-
[Study] WACon CTF 2022 Kuncɛlan WriteupCTF/WACon CTF 2022 2022. 6. 27. 22:13
대회 기간에는 해결하지 못했던 문제였다. 우리 팀은 인원수 제한으로 ST4RT, 3ND 두 팀으로 나누어 출전했는데(본인은 ST4RT 로 출전) 3ND팀에서는 해당 문제를 해결했다. 대회 종료 후 서버 오픈 시간이 길지 않았기 때문에 팀원인 nicknamemohaji 님의 롸업을 기반으로 리뷰해보았다. 해당 문제는 블랙박스 기반 문제로, 별도의 소스코드가 주어지지 않았다. 주어진 페이지에 접근해보자. guest / guest 로 로그인하면 curl 기능을 사용 할 수 있는 듯 한 페이지로 안내된다. 하지만 관리자 권한이 없어서 해당 기능을 테스트 할 수 없다. 우선 gobuster를 통해 별도로 접근 가능한 디렉토리나 파일이 있는지 확인해보았다.(OSCP의 습관..) load.phtml 이 존재하는데, ..
-
[Clear] WACon CTF 2022 interspace WriteupCTF/WACon CTF 2022 2022. 6. 27. 21:49
주어진 소스파일을 분석해보자. #!/usr/bin/env python3 import difflib import itertools import random import os import re import signal import string import time def bye(*args): print("Bye!") exit(1) signal.signal(signal.SIGALRM, bye) signal.alarm(5) STEPS = 10 FLAG = os.environ.get("FLAG", "WACon{fake-flag}") print("Flag distance calculator:") for i in range(STEPS): candidate = input("> ").strip() if candidate..
-
-
-
-