SQL injection (SQLi) is a code injection technique that exploits applications constructing SQL queries from user input. Attackers insert malicious SQL statements to bypass authentication, extract database contents, modify data, or execute commands on the database server. Variants include UNION-based, error-based, blind boolean, and time-based blind injection.
SSRF occurs when an attacker can make a server-side application send HTTP requests to an arbitrary destination. It is commonly used to access internal services, cloud metadata endpoints (like AWS 169.254.169.254), and internal APIs that are not exposed to the internet. SSRF can be blind (no response returned) or full (response is reflected to the attacker).
SSTI occurs when user input is embedded into a server-side template engine (like Jinja2, Twig, or Freemarker) without sanitization. Attackers inject template syntax to execute arbitrary code on the server. Detection involves submitting mathematical expressions like {{7*7}} and checking if the result (49) is rendered. Successful exploitation typically leads to remote code execution.
Security misconfiguration refers to insecure default settings, incomplete configurations, open cloud storage, unnecessary features enabled, verbose error messages, or missing security headers. Common examples include exposed debug endpoints (/actuator, /__debug__), default credentials on admin panels, directory listing enabled, and missing HSTS or CSP headers.
Subdomain takeover occurs when a DNS record (typically a CNAME) points to an external service that no longer has an active resource behind it. An attacker can register the unclaimed resource on the service and serve arbitrary content on the victim's subdomain. This enables phishing, cookie theft, and reputation damage. Common targets include dangling CNAMEs to S3 buckets, Azure, Heroku, and GitHub Pages.
A supply chain attack targets the software development or distribution pipeline rather than the application itself. This includes compromising third-party libraries (typosquatting, dependency confusion), tampering with build systems, injecting malicious code into CI/CD pipelines, or compromising package registries. Notable examples include the SolarWinds attack and various npm/PyPI package compromises.
Sensitive data exposure occurs when an application inadequately protects information such as credentials, tokens, financial data, or PII. This includes transmitting data in cleartext (no HTTPS), using weak cryptographic algorithms, hardcoding API keys in client-side JavaScript, caching sensitive responses, including tokens in URLs, or leaking internal details via verbose error messages.
SSRF chaining is a technique where an initial SSRF vulnerability is combined with internal services to escalate impact. Common chains include SSRF → cloud metadata (169.254.169.254) for credential theft, SSRF → internal admin panels, SSRF → internal APIs without authentication, and SSRF → Redis/Memcached for RCE. The IP Calculator tool can generate bypass formats for SSRF filter evasion.