import os
import subprocess
from flask import Flask, request, redirect, send_from_directory

app = Flask(__name__)

@app.route('/path_traversal', methods=['GET'])
def path_traversal():
    file_name = request.args.get('file', 'example.txt')
    try:
        return send_from_directory('static', file_name)
    except Exception as e:
        return str(e)

@app.route('/command_injection', methods=['GET'])
def command_injection():
    cmd = request.args.get('cmd', 'echo Hello, world!')
    try:
        result = subprocess.check_output(cmd, shell=True)
        return {'result': result.decode('utf-8')}
    except Exception as e:
        return str(e)

@app.route('/open_redirect', methods=['GET'])
def open_redirect():
    url = request.args.get('url', '/')
    return redirect(url)

if __name__ == '__main__':
    os.environ["WERKZEUG_DEBUG_PIN"]='111-111-111'
    app.run(host='0.0.0.0', port=8300, debug=True)