SSRF (Server-Side Request Forgery) Complete Guide
As the founder of OWASP Indianapolis and someone who’s been tracking SSRF attacks for over 15 years, I’ve watched this vulnerability evolve from a niche attack to one of the most dangerous threats in modern web applications.
SSRF attacks let attackers make your server send requests to internal systems, cloud metadata services, or external targets - essentially turning your trusted server into their attack proxy.
What Makes SSRF So Dangerous
SSRF consistently ranks as a critical vulnerability because it:
- Bypasses network firewalls by originating requests from trusted internal servers
- Accesses internal services that should never be reachable from the internet
- Extracts cloud credentials from metadata services (AWS, Azure, GCP)
- Chains with other vulnerabilities to achieve complete system compromise
SSRF Content Library
๐ฏ Core SSRF Guides
SSRF Prevention Guide 2026
Comprehensive SSRF Guide ๐ Updated September 12, 2026 โ added the SonicWall SMA1000 chain (CVE-2026-15409), the CVSS โฆ
OWASP A01: Broken Access Control Prevention Guide
I’ve been hunting access control bugs for over a decade, and let me tell you - they’re everywhere. When โฆ
Python SSRF Prevention Guide [2026]
I’ve been hunting SSRF bugs in Python applications for over five years, and the number of vulnerable codebases I โฆ
CSRF vs SSRF: Developer Guide [2026]
CSRF and SSRF sound like they’re related - they both have “request forgery” in the name, after all. โฆ
CVE-2026-27696: SSRF in changedetection.io
A high-severity SSRF vulnerability (CVSS 8.6) was disclosed on February 25, 2026 in changedetection.io, a popular โฆ
Secure Python Applications Guide [2026]
I’ve been writing Python applications for over a decade, and I’ve seen every possible way to screw up โฆ
7 Critical SSRF Attack Techniques [2026]
Server-Side Request Forgery (SSRF) is a type of security vulnerability that allows an attacker to send crafted requests โฆ
SSRF Prevention Guide [2026]
I’ve been dealing with SSRF vulnerabilities for years, and they’re honestly one of the scariest bugs โฆ
๐ Python SSRF Prevention
Hand-rolling an LDAP listener to catch Log4Shell callbacks
Fifth in a series on building OAST infrastructure from scratch. Post 1 built the javax.naming.Reference that an LDAP โฆ
Fail the build when your CSP regresses
CSP policies regress silently. That’s the whole problem. Someone adds 'unsafe-inline' to script-src to unblock a โฆ
Six layers to sandbox untrusted Python โ and the escape I missed
Third in a series on building out-of-band application security testing (OAST) infrastructure from scratch. Post 1 โฆ
Building an authoritative DNS server in ~200 lines
Second in a series on building out-of-band application security testing (OAST) infrastructure from scratch. The first โฆ
Don't Trust JWT Headers: Algorithm Confusion Attacks Explained
I keep encountering this JWT vulnerability in Python codebases, and it’s particularly concerning because โฆ
๐ก๏ธ Defense Strategies
The OWASP LLM Top 10: A Practitioner's Field Guide
I’ve spent the last couple of years watching teams bolt an LLM onto a product and then look genuinely surprised โฆ
OWASP A01: Broken Access Control Prevention Guide
I’ve been hunting access control bugs for over a decade, and let me tell you - they’re everywhere. When โฆ
OWASP Top 10 2025 Developer Guide
I’ve been working with the OWASP Top 10 for years, and the 2025 update just dropped some major changes that every โฆ
CSRF vs SSRF: Developer Guide [2026]
CSRF and SSRF sound like they’re related - they both have “request forgery” in the name, after all. โฆ
AppSec.fyi Hits 2,200+ Resources: What's New
Back in January I wrote about the launch of AppSec.fyi, the curated application security resource library I built and โฆ
MCP Tool Poisoning: Hidden Attack Surface
I run about a dozen MCP servers in my daily workflow. Playwright for browser automation, Raindrop for bookmarks, Todoist โฆ
CVE-2026-27696: SSRF in changedetection.io
A high-severity SSRF vulnerability (CVSS 8.6) was disclosed on February 25, 2026 in changedetection.io, a popular โฆ
AppSec.fyi: Curated Security Resources
As security professionals, we spend a lot of time searching through resources, documentation, and references while โฆ
SSRF Attack Flow Visualization
SSRF Attack Chain:
1. Attacker Input 2. Server Request 3. Internal Access
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Malicious URL โ --> โ Your Server โ --> โ Internal System โ
โ โ โ โ โ โ
โ http://169.254. โ โ requests.get() โ โ AWS Metadata โ
โ 169.254/latest/ โ โ (no validation) โ โ Database โ
โ meta-data/ โ โ โ โ File System โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
^ ^ ^
User Input Trusted Server Critical Data
Cloud Metadata Exploitation:
Attacker โ Web App โ Cloud Metadata Service โ Credentials
| | | |
| | | v
| | | AWS Keys, Tokens,
| | | Service Accounts
| | |
| | 169.254.169.254/latest/
| | metadata/iam/security-
| | credentials/role-name
| |
| Vulnerable Parameter:
| ?url=http://169.254.169.254/...
|
Crafted Request
SSRF Attack Scenarios I’ve Documented
Based on my research and real-world penetration testing:
1. Cloud Metadata Exploitation
- AWS EC2 metadata service attacks
- Azure Instance Metadata Service (IMDS) bypass
- GCP metadata server credential extraction
2. Internal Network Reconnaissance
- Port scanning internal networks
- Service discovery and enumeration
- Database and file server access
3. Authentication Bypass
- OAuth redirect manipulation
- JWT token theft via callback manipulation
- Session token extraction from internal services
Tools & Resources
My SSRF Testing Tools:
- Custom Python scripts for payload generation
- Burp Suite extensions for automated SSRF testing
- Cloud-specific metadata extraction tools
Industry Resources:
Need SSRF Help?
I provide application security consulting focused on SSRF prevention and testing. Contact me for:
- SSRF vulnerability assessments
- Secure code review for SSRF prevention
- Developer training on SSRF defense
- Custom tool development for SSRF testing
Carl Sampson - OWASP Indianapolis Chapter Founder | 15+ Years Application Security