WARNING: This application contains intentional security vulnerabilities for educational and testing purposes only. DO NOT deploy this in a production environment.
This React application and Node.js backend demonstrate various common web security vulnerabilities that can be exploited for security testing and learning. The code is intentionally insecure to help security professionals and developers understand how vulnerabilities work.
Using Docker (recommended):
# Make all scripts executable
chmod +x *.sh
# Run the main setup script to create all necessary files
./main-setup.sh
# Start the containers
docker-compose up -d- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- Admin User: username
admin, passwordadmin123 - Regular User: username
user1, passwordpassword123
-
Cross-Site Scripting (XSS)
- Direct use of
dangerouslySetInnerHTMLwith unsanitized input - Rendering HTML directly from API responses
- Direct use of
-
Insecure Authentication
- Storing sensitive tokens in localStorage
- No CSRF protection
- No session expiration
-
Poor Input Validation
- Vulnerable regex patterns (susceptible to ReDoS attacks)
- Missing validation on file uploads
- No sanitization of user inputs
-
SQL Injection
- Direct concatenation of user input in SQL queries
- No prepared statements or parameterized queries
-
Command Injection
- Passing raw user input to system commands (Admin Panel)
-
Insecure Direct Object References (IDOR)
- No access control checks on API endpoints
- User IDs exposed and manipulable
-
Cross-Site Request Forgery (CSRF)
- No CSRF tokens
- Accepting requests from any origin
This application is for educational purposes only. Using these vulnerabilities against real applications without permission is illegal and unethical. Always practice security testing in controlled environments with proper authorization.