Detailed breakdown of vulnerability classes Shannon can detect and exploit
Shannon targets five major vulnerability classes based on the OWASP Top 10 and OWASP API Security Top 10. Every vulnerability must be successfully exploited with a working proof-of-concept to be included in reports.
Authentication vulnerabilities allow attackers to bypass or compromise user authentication mechanisms.
SQL injection authentication bypass
Description: Direct SQL injection in login forms enabling authentication without valid credentialsDetection: Shannon analyzes login endpoints for string interpolation in SQL queriesExploitation:
curl -X POST /api/login \ -d '{"email":"admin'\''--","password":"irrelevant"}'
Impact: Complete authentication bypass, admin accessExample: Juice Shop INJ-VULN-01
JWT algorithm confusion
Description: JWT libraries accepting symmetric algorithm (HS256) when configured for asymmetric (RS256)Detection: Shannon tests JWT validation by signing tokens with the public key using HMACExploitation:
Description: JWT validation accepting unsigned tokens with algorithm set to “none”Detection: Shannon submits tokens with alg:none header and no signatureExploitation:
Description: No password complexity requirements or account lockoutDetection: Shannon attempts registration with weak passwords and brute force attacksImpact: Account compromise via brute force
Default credentials
Description: Systems with unchanged default usernames and passwordsDetection: Shannon tests common default credentials (admin/admin, root/root, etc.)Impact: Immediate administrative access
Authorization vulnerabilities allow attackers to access resources or perform actions beyond their privileges.
IDOR (Insecure Direct Object References)
Description: Predictable object identifiers without ownership validationDetection: Shannon enumerates IDs and tests access across user contextsExploitation:
# Regular user accessing user ID 1 (admin)curl -H "Authorization: Bearer $USER_TOKEN" \ http://app.com/api/users/1
Impact: Horizontal privilege escalation, data disclosureExample: Juice Shop AUTHZ-VULN-03, crAPI AUTHZ-VULN-01
Mass assignment
Description: Unfiltered input allowing modification of privileged object fieldsDetection: Shannon includes privileged fields (role, admin, permissions) in update requestsExploitation:
curl -X PUT /api/profile \ -d '{"email":"[email protected]","role":"admin"}'
Impact: Privilege escalation from regular user to adminExample: ctal AUTHZ-VULN-01, Juice Shop AUTHZ-VULN-01
Broken function-level authorization
Description: Admin endpoints accessible to regular users due to missing role checksDetection: Shannon tests admin endpoints with regular user tokensImpact: Administrative functionality abuseExample: crAPI AUTHZ-VULN-04
Directory traversal
Description: Path manipulation enabling access to files outside intended directoryDetection: Shannon tests file parameters with ../ sequencesExploitation:
Injection vulnerabilities occur when untrusted data is sent to an interpreter as part of a command or query.
SQL injection - Union-based
Description: SQL injection enabling data extraction via UNION SELECTDetection: Shannon tests for SQL errors, then extracts data using UNION queriesExploitation:
Impact: Authentication bypass, data extractionExample: Juice Shop INJ-VULN-04
Command injection
Description: OS command execution via unsanitized user inputDetection: Shannon injects shell metacharacters and tests for command executionExploitation:
curl -X POST /api/debug/exec \ -d '{"command":"ls;cat /etc/passwd"}'
Impact: Complete server compromise, RCEExample: ctal INJ-VULN-01 (root-level execution)
Server-Side Template Injection (SSTI)
Description: Template engine code execution via user-controlled templatesDetection: Shannon tests template expressions ({{7*7}}, ${7*7}) and checks for evaluationExploitation:
XSS vulnerabilities allow attackers to inject malicious scripts into web pages viewed by other users.
Reflected XSS
Description: User input immediately reflected in HTTP response without sanitizationDetection: Shannon injects XSS payloads into parameters and checks for executionExploitation:
Impact: Session hijacking, credential theft, defacementExample: Juice Shop XSS-VULN-01
Stored XSS
Description: Malicious script stored in database and executed when viewed by usersDetection: Shannon submits XSS payloads via forms and checks rendering contextsImpact: Persistent XSS affecting all users, worm potential
DOM-based XSS
Description: Client-side script execution via unsafe JavaScript sinksDetection: Shannon analyzes JavaScript code for unsafe sinks (innerHTML, eval, document.write)Exploitation:
// Payload in URL fragmenthttp://app.com/#<img src=x onerror=alert(1)>
Impact: Client-side code execution
Framework bypass (Angular, React)
Description: Bypassing framework sanitization via encoding or polyglot payloadsDetection: Shannon tests framework-specific bypass techniquesExploitation:
SSRF vulnerabilities allow attackers to make requests from the server to internal or external systems.
Internal service access
Description: SSRF enabling access to internal services not exposed to internetDetection: Shannon tests URL parameters with internal IPs and localhostExploitation:
# Access Rediscurl -X POST /api/fetch \ -d '{"url":"http://localhost:6379"}'# Access internal admin panelcurl -X POST /api/fetch \ -d '{"url":"http://internal-admin:8080/admin"}'
Impact: Internal network access, service enumerationExample: Juice Shop SSRF-VULN-01
Description: SSRF using non-HTTP protocols for file read or protocol smugglingDetection: Shannon tests file:// for local file access and gopher:// for protocol smugglingExploitation:
# File protocolcurl -X POST /api/fetch \ -d '{"url":"file:///etc/passwd"}'# Gopher protocol (Redis exploitation)curl -X POST /api/fetch \ -d '{"url":"gopher://localhost:6379/_*1%0d%0a$8%0d%0aflushall%0d%0a"}'