[dreamhack] File Vulnerability Advanced for linux

IMKYU·2024년 11월 24일

문제

웹페이지

문제 파일

설명

# main.py
import os, subprocess
from functools import wraps
from flask import Flask, request

app = Flask(__name__)
API_KEY = os.environ.get('API_KEY', None)

def key_required(view):
    @wraps(view)
    def wrapped_view(**kwargs):
        apikey = request.args.get('API_KEY', None)
        if API_KEY and apikey:
            if apikey == API_KEY:
                return view(**kwargs)
        return 'Access Denied !'
    return wrapped_view

@app.route('/', methods=['GET'])
def index():
    return 'API Index'

@app.route('/file', methods=['GET'])
def file():
    path = request.args.get('path', None)
    if path:
        data = open('./files/' + path).read()
        return data
    return 'Error !'

@app.route('/admin', methods=['GET'])
@key_required
def admin():
    cmd = request.args.get('cmd', None)
    if cmd:
        result = subprocess.getoutput(cmd)
        return result
    else:
        return 'Error !'

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)
profile
아무것도 안 한 거랑 다를께 없잖아??

0개의 댓글