This commit is contained in:
Eli Peter 2026-06-05 10:16:30 -05:00 committed by GitHub
parent 55247b7fcd
commit 991c84a1eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1464 changed files with 225448 additions and 1985 deletions

View file

@ -0,0 +1,25 @@
"""Phase 12 — Flask route, vulnerable.
Vulnerable route reads the `host` query parameter and concatenates it
into a shell command. Nyx harness reaches the route via
`app.test_client()` so no real network listener is bound.
"""
import subprocess
from flask import Flask, request
app = Flask(__name__)
@app.route("/ping", methods=["GET"])
def ping():
"""Vulnerable: untrusted query param flows to subprocess(shell=True)."""
host = request.args.get("host", "")
result = subprocess.run(
"ping -c 1 " + host,
shell=True,
capture_output=True,
text=True,
timeout=5,
)
return result.stdout + result.stderr