mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-21 20:18:06 +02:00
[pitboss] phase 12: Track B — Python harness emitter shapes
This commit is contained in:
parent
523bd0c53a
commit
96eb37500c
29 changed files with 3394 additions and 122 deletions
23
tests/dynamic_fixtures/python/fastapi/vuln.py
Normal file
23
tests/dynamic_fixtures/python/fastapi/vuln.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
"""Phase 12 — FastAPI route, vulnerable.
|
||||
|
||||
Nyx harness drives the route through `starlette.testclient.TestClient`
|
||||
so the framework's normal request pipeline fires without a real socket.
|
||||
"""
|
||||
import subprocess
|
||||
|
||||
from fastapi import FastAPI
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
||||
@app.get("/ping")
|
||||
def ping(host: str = ""):
|
||||
"""Vulnerable: query parameter flows to subprocess(shell=True)."""
|
||||
result = subprocess.run(
|
||||
"ping -c 1 " + host,
|
||||
shell=True,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=5,
|
||||
)
|
||||
return result.stdout + result.stderr
|
||||
Loading…
Add table
Add a link
Reference in a new issue