Dreamhack/Dreamhack(새싹)

문제  풀이실행하면 웹은 위와 같이 보인다.별다른 작업이 불가하므로, 소스코드를 확인한다.#!/usr/bin/python3import osfrom flask import Flask, request, render_template, redirect, url_forimport sysapp = Flask(__name__)try: # flag is here! FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]"@app.route("/")def index(): return render_template("index.html")@app.route("/step1", methods=["GET", "POST"])def step1..
문제  풀이처음 접속하면 아래와 같다.여기서 Upload를 위해 placehold로 설정되어 있는 글자를 그대로 입력 후, Upload 를 시행한다.  시행하면 업로드한 메모가 하단 태그로 생성되는 것을 확인할 수 있다. name 파라미터의 값을 my-first-memo 로 넘겨 내부 값을 출력시키는 것을 확인할 수 있다.이를 확인하여, flag.py를 출력해보도록 한다.  flag.py의 내부 정보는 출력되지 않고있다.소스코드를 보고 문제를 확인해보도록 하자#!/usr/bin/env python3import osimport shutilfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__..
문제할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요!  풀이처음 페이지에 접속하면, 아래와 같은 그림을 확인할 수 있다.10000번 클릭시 flag 값을 얻을 수 있다.우선 소스코드부터 확인한다.id 값인 #jack-target 을 10000번 클릭해야 나오도록 설정되어있다.여기서 counter를 10000으로 지정해도 Flag 값은 출력되지 않는다. $('#jack-target').click 이 10000번 이루어지면 flag 값이 노출되는 것으로 보면 되니, console에서 반복문을 사용해서 노출시킨다.# for 문 반복for(i=0; i코드를 콘솔에 입력하면 정상적으로 Flag 값이 출력되는 것을 확인할 수 있다.
문제특정 Host에 ping 패킷을 보내는 서비스입니다.Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다.  풀이이번문제는 ping 패킷을 보내는 서비스를 확인할 수 있다.확인을 위해 8.8.8.8을 찍어보도록 한다.정상적으로 출력되는 것을 확인할 수 있으며, 이제 input 박스에 우회를 시도한다.cat flag.py 값을 출력해야하므로 8.8.8.8;cat flag.py 를 작성한다.작성했지만 프론트 단에서 형식이 일치하지 않는다는 문구가 발생한다.F12를 눌러 개발자 도구를 확인하면 HTML 코드에 pattern 으로 알파벳 대/소문자, 숫자, 5자리 ~ 20자리 사이로 입력 값 제한으로 받고있다. 이 pattern 값을 지우고 8.8.8.8"cat fl..
문제사용자의 정보를 조회하는 API 서버입니다.Path Traversal 취약점을 이용해 /api/flag에 있는 플래그를 획득하세요!  풀이접속 시, 위와 같은 페이지가 나타난다.Get User Info 를 클릭해 내부로 접속한다.View 버튼을 클릭 시, 위와 같은 내부 정보 값을 불러온다.여기에 guest가 아닌 flag를 입력해본다.내부 값이 비어있는 상태로 출력하는 것을 볼 수 있다.기존의 페이지에서는 uid 값을 입력해, Json 값을 덤프해서 가져오는 것을 확인할 수 있다.내부 매핑을 확인했으니, 이제 ../flag 를 입력해 값을 flag 값을 확인해보자동일하게 출력되나, 중간 undefined 로 변환하는 것을 직접 확인할 수 있다.중간 처리과정이 존재하니 이제 버프스위트를 사용해본다.u..
문제쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다.admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다.플래그 형식은 DH{...} 입니다. 풀이접속 시, 위와 같은 화면을 확인할 수 있다.코드는 일반적인 HTML 코드이며, 주석에도 별다른 내용이 존재하지 않는다.고로 Login으로 이동해본다.Login 화면으로 접속 시, 주석에는 default account : guest/guest 로 되어있다.적혀져 있는 계정으로 접속해 본다.admin 계정이 아니라는 것만 출력된다.이번엔 버프 스위트로 Cookie 값을 확인해보도록 한다.Cookie 값에 guest를 평문으로 보내는 것을 확인할 수 있다. 이를 admin으로 변경해서 보내보자flag 값을 출력하는 것을 확인할 수 있다.
grinidia
'Dreamhack/Dreamhack(새싹)' 카테고리의 글 목록