분류 전체보기 82

pathtraversal beginner

웹 서비스 분석사용자에게 userid를 입력 받고, 입력받은 유저의 정보를 표시해주는 기능이 있는 웹 사이트이다. 엔드포인트 분석/get_info/api/api/flag/api/user//get_info@app.route('/get_info', methods=['GET', 'POST'])def get_info(): if request.method == 'GET': return render_template('get_info.html') elif request.method == 'POST': userid = request.form.get('userid', '') info = requests.get(f'{API_HOST}/api/user/{userid}').te..

CTF & Wargame(WEB) 2025.04.14

blind-command level 2

웹 서비스 분석#!/usr/bin/env python3from flask import Flask, requestimport osapp = Flask(__name__)@app.route('/' , methods=['GET'])def index(): cmd = request.args.get('cmd', '') if not cmd: return "?cmd=[cmd]" if request.method == 'GET': '' else: os.system(cmd) return cmdapp.run(host='0.0.0.0', port=8000)사용자에게 받은 입려을 cmd 변수에 저장한다.만약 사용자가 입력을 하지 않았으면 ?cmd=[cmd] 출력그리고..

CTF & Wargame(WEB) 2025.04.14

[dreamhack] Beginner file-download-1

웹 서비스 분석사용자가 글을 입력하여 업로드 하면 인덱스 페이지에 리스트 되고, 업로드된 글들을 열람할 수 있다. 엔드포인트 분석/upload@APP.route('/upload', methods=['GET', 'POST'])def upload_memo(): if request.method == 'POST': filename = request.form.get('filename') content = request.form.get('content').encode('utf-8') if filename.find('..') != -1: return render_template('upload_result.html', data='bad characters,..

CTF & Wargame(WEB) 2025.04.14

[dreamhack] level 1 image-storage

웹서비스 분석해당 웹서비스는 이용자가 임의의 파일을 올릴 수 있는 기능을 구현해두었다. 그리고 이용자가 파일을 업로드하면 List 탭에 이용자가 올린 파일이 업로드 되고, 해당 파일을 열람할 수 있다. 엔드포인트 분석/list $value) { echo "".$value.""; } ?>해당 코드는 이용자가 올린 파일을 열람할 수 있도록 구현한 코드이다. 하지만 파일들을 보여줄때 '..', '.', 'index.html 파일은 제외한다. /upload 0 ) { echo "Error: " . $error . ""; }else { if (file_exists($directory . $name)) { echo $name ..

CTF & Wargame(WEB) 2025.04.14

[dreamhack] level 1 simple_sqli (blind_sqli 활용)

BSSQLiblind sql injection은 여러번의 질의를 통해 정답을 찾아내는 것이다. 따라서 데이터의 구조를 파악하고 파이썬 스크립트로 자동화하여 비밀번호를 찾아낸다. 로그인 요청의 폼 구조 파악개발자 도구에서 network 탭을 클릭하고 preserve log를 체크하면 login 탭으로 로그인할때 전송하는 POST 데이터의 구조를 확인할수 있다. 확인을 위해 guest, guest로 로그인을 해보면위와 같이 userid, userpassword로 전송되는 것을 확인할 수 있다. BSQLi를 이용한 비밀번호 추출#!/usr/bin/python3import requestsimport sysfrom urllib.parse import urljoinclass Solver: """Solver f..

CTF & Wargame(WEB) 2025.04.14