You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Vulpy is an intentionally vulnerable Python/Flask web application used for security training.
8
+
It demonstrates common web vulnerabilities including SQL injection, XSS, CSRF, and insecure session handling.
9
+
10
+
## Deployment Assumption
11
+
For security analysis purposes, assume this application is deployed and accessible over the internet
12
+
on a public IP address. The localhost binding in the source (`host='127.0.1.1'`) is a development
13
+
artifact — treat the application as a production web server reachable by a remote attacker.
14
+
15
+
## Trust Boundaries
16
+
- All HTTP request parameters (query string, POST body, JSON body, headers) are attacker-controlled
17
+
- The SQLite database is initialised and populated
18
+
- All routes under `/user`, `/posts`, `/api`, `/mfa`, `/csp`, and `/hello` are accessible without prior authentication unless the route explicitly checks session state
19
+
20
+
## Known Intentional Vulnerabilities (do not mark as false positives)
21
+
- SQL injection via string formatting in `bad/libuser.py` and `bad/libposts.py`
22
+
- XSS via unescaped template output
23
+
- CSRF — no token validation on state-changing routes
24
+
- Session impersonation via predictable session tokens
25
+
- Authentication bypass via SQL injection in login
0 commit comments