Vulnerability Overview - capstone-hermes/hermes-fullstack GitHub Wiki
Vulnerability Overview
Overview
The Weak Website implements a comprehensive set of security vulnerabilities based on the OWASP Application Security Verification Standard (ASVS) Level 1 requirements. This page provides a complete mapping of implemented vulnerabilities, their locations in the codebase, and their educational significance.
🚨 Educational Purpose
These vulnerabilities are intentionally implemented for educational purposes:
Understanding common web application security flaws
Practicing penetration testing techniques
Learning secure coding principles through negative examples
Demonstrating real-world attack scenarios
OWASP ASVS Mapping
V2: Authentication Verification Requirements
V2.1: Password Security Requirements
ASVS ID
Vulnerability
Implementation
Impact
Code Location
V2.1.1
Insufficient password length
Min 6 chars allowed
Weak passwords
auth.service.ts:53-57
V2.1.2
Password truncation
20 character limit
Password bypass
password.helper.ts:15-18
V2.1.3
Unicode normalization bypass
Password truncation
Authentication bypass
password.helper.ts:15-18
V2.1.4
ASCII-only restriction
Rejects non-ASCII chars
Usability issue
auth.service.ts:48-51
V2.1.5
Password change failure
Always fails
Cannot change passwords
auth.service.ts:84-85
V2.1.6
No current password verification
Ignores current password
Unauthorized changes
auth.service.ts:91-92
V2.1.7
No breached password check
No breach database
Compromised passwords
auth.service.ts:65-66
V2.1.8
No password strength feedback
No strength indicator
Weak password selection
auth.service.ts:39-40
V2.1.9
Overly restrictive composition
Complex requirements
Poor user experience
password.helper.ts:35-55
V2.1.10
No password history
No previous passwords stored
Password reuse
auth.service.ts:124-129
V2.2: General Authenticator Requirements
ASVS ID
Vulnerability
Implementation
Impact
V2.2.1
SQL injection in authentication
Raw SQL queries
Authentication bypass
V2.2.3
Hardcoded JWT secret
'hardcoded-secret'
Token forgery
V3: Session Management Verification Requirements
ASVS ID
Vulnerability
Implementation
Impact
Code Location
V3.1.1
Weak session tokens
Hardcoded JWT secret
Session hijacking
auth.service.ts:35
V3.2.1
Session token exposure
Logged in plain text
Token theft
auth.service.ts:37
V3.3.1
No session timeout
Tokens never expire
Persistent access
auth.service.ts:35
V4: Access Control Verification Requirements
ASVS ID
Vulnerability
Implementation
Impact
V4.1.1
No authorization checks
Missing access controls
Privilege escalation
V4.2.1
Direct object references
Predictable resource IDs
Data access
V5: Validation, Sanitization and Encoding Requirements
V5.1: Input Validation Requirements
ASVS ID
Vulnerability
Implementation
Impact
Code Location
V5.1.1
HTTP parameter pollution
Vulnerable middleware
Parameter manipulation
vulnerable-params.middleware.ts
V5.1.2
No input validation
Raw input processing
Various injection attacks
Multiple locations
V5.1.3
No input sanitization
Direct database storage
XSS, SQLi
post.service.ts:20
V5.2: Sanitization and Sandboxing Requirements
ASVS ID
Vulnerability
Implementation
Impact
V5.2.1
No output encoding
Raw HTML rendering
Stored XSS
V5.2.2
No sanitization
Direct content display
Script execution
V5.3: Output Encoding and Injection Prevention Requirements
ASVS ID
Vulnerability
Implementation
Impact
V5.3.1
SQL injection
String concatenation
Data breach
V5.3.2
XSS vulnerabilities
No encoding
Client-side attacks
V5.3.3
Command injection
Direct command execution
Server compromise
V7: Error Handling and Logging Verification Requirements