목록CTF (59)
개발세발보안중

접속 첫 페이지다. 막힌 계정이 2개가 보인다. 소스코드를 보니, 아이디가 guest이거나 blueh4g면 your account is blocked라고 뜨라고 한다 그런데!!! if문으로 쓰여져 있다 ! if 문은 대소문자 구분이 안된다. ㅎㅎ GUEST/guest 로 Flag 값을 찾아냈다 :)

접속사이트에 접속하니 이렇게 나왔다. #!/usr/bin/python3 from flask import Flask, request, render_template, g import sqlite3 import os import binascii app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' DATABASE = "database.db" if os.path.exists(DATABASE) == False: db = sqlite3.connect(DATABASE) db.execute('create table users(userid char(10..

문제 파일에 포함 된 flag.py #!/usr/bin/env python3 import os import shutil from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(__name__) UPLOAD_DIR = 'uploads' @APP.route('/') def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files) @APP.route('/upload', methods=['GET', 'POST']) def upload_memo(): if request.method == 'POST':..

LFI 취약점이란? Local File Inclusion 웹 브라우저를 통해 서버에 파일을 포함시키는 과정이다. 이 취약점은 include() 사용 시 페이지 경로가 적절히 필터링되지 않았고 디렉토리 변경 명령어들의 삽입을 허용했을 때 일어난다. 1. LFI나 RFI(Remote File Inclusion) 취약점의 존재 여부를 확인하려면 파라미터 입력 부분에 ../을 넣어 확인한다. 2. 파라미터에 원하는 파일의 경로를 삽입한다. 문제 풀이 ../uploads/ 로 URL에 올라감 64비트 인코딩 해서 내용이 나올 수 있음 ?page=php://filter/read=convert.base64-encode/resource=/var/www/uploads/flag PD9waHAKCSRmbGFnID0gJ0RI..

('jack-target').click 함수를 활용하여 반복문으로 클릭시키는 코드 console에 입력 * console 패널의 기능 - 로그를 확인하고 스크립트 명령어를 입력하는 패널 - 중단점을 건 시점의 변수를 체크, 값을 평가하거나 수정 - 실시간으로 자바스크립트를 실행하고 에러메시지를 출력 * 새로고침 시에도 console 내용 지워지지 않게 하는 방법? - console -> 설정 -> preferences -> console -> preserver lpg upon navigation 체크 * 콘솔의 로그를 모두 지울 때 - clear() 또는 console.clear()