web(5)
-
[Dreamhack-web] blind-command
문제 #!/usr/bin/env python3 from flask import Flask, request import os app = 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 cmd app.run(host='0.0.0.0', port=8000) 문제 풀이 GET을 우회해야 하므로 사용할 수 있는 METHOD를 확인하기 위해 OPTIONS로 바꿔서 forward 한다. GET 외에 HEAD가 사용 가능하다. GET ..
2023.08.17 -
[Dreamhack-web] proxy-1
문제 #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for import socket app = Flask(__name__) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' @app.route('/') def index(): return render_template('index.html') @app.route('/socket', methods=['GET', 'POST']) def login(): if request.method == 'GET': return render_template('socket...
2023.08.17 -
[Dreamhack-web] pathtraversal
문제 #!/usr/bin/python3 from flask import Flask, request, render_template, abort from functools import wraps import requests import os, json users = { '0': { 'userid': 'guest', 'level': 1, 'password': 'guest' }, '1': { 'userid': 'admin', 'level': 9999, 'password': 'admin' } } def internal_api(func): @wraps(func) def decorated_view(*args, **kwargs): if request.remote_addr == '127.0.0.1': return fun..
2023.08.16 -
[Dreamhack-web] Crave Party
문제 문제 풀이 개발자 도구로 확인해보니 호박을 클릭하는 코드가 있음 클릭 이벤트를 발생 시키는 코드를 for문을 통해 작성함 flag 획득
2023.08.11 -
[Dreamhack-web] uaf_overwrite
문제 // Name: uaf_overwrite.c // Compile: gcc -o uaf_overwrite uaf_overwrite.c #include #include #include #include struct Human { char name[16]; int weight; long age; }; struct Robot { char name[16]; int weight; void (*fptr)(); }; struct Human *human; struct Robot *robot; char *custom[10]; int c_idx; void print_name() { printf("Name: %s\n", robot->name); } void menu() { printf("1. Human\n"); print..
2023.08.11