Exploiting Server Side Request Forgery
Overview
Cybersecurity skill for exploiting server side request forgery. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"exploiting server side request forgery"
"Identifying and exploiting SSRF vulnerabilities to access internal services, clo"
During authorized penetration tests when the application fetches URLs provided by users (webhooks, URL previews, file imports)
When testing cloud-hosted applications for access to instance metadata services
For assessing PDF generators, screenshot services, or any feature that renders external content
When evaluating microservice architectures for internal service access via SSRF
During security assessments of APIs that accept URL parameters for data fetching
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Authorization: Written penetration testing agreement including SSRF testing scope
- Burp Suite Professional: With Collaborator for out-of-band detection
- interactsh: Open-source OOB interaction server (
go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest)
- SSRFmap: Automated SSRF exploitation framework (
git clone https://github.com/swisskyrepo/SSRFmap.git)
- curl: For manual SSRF payload testing
- Knowledge of target infrastructure: Cloud provider (AWS, GCP, Azure), internal IP ranges
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Reconnaissance — Gather information about the target related to server side request forgery. Identify attack surface.
- Vulnerability Identification — Enumerate potential server side request forgery weaknesses using automated and manual techniques.
- Exploit Development/Selection — Choose or develop exploits targeting identified server side request forgery vulnerabilities.
- Execution — Execute the server side request forgery test in a controlled manner with proper authorization.
- Post-Exploitation — Document the impact and extent of successful exploitation.
- Reporting — Write detailed findings with reproduction steps, impact assessment, and remediation guidance.
Tools
- Vulnerability Scanner — Automated weakness identification
- Exploitation Framework — Controlled exploitation testing
- Reporting Tool — Findings documentation and tracking
Process
- Reconnaissance — Gather target information, identify attack surface, enumerate services
- Analysis/Exploitation — Execute the technique, analyze results, document findings
- Reporting — Document IOCs, write findings, provide remediation recommendations
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: exploiting-server-side-request-forgery3description: Use when identifying and exploiting SSRF vulnerabilities to access internal services, cloud metadata, and restricted network resources during authorized penetration tests. Use when working with exploiting server side request forgery.4license: Apache-2.05---67# Exploiting Server Side Request Forgery89## Overview1011Cybersecurity skill for exploiting server side request forgery. Follows industry best practices and security standards.1213## When to Use14**Trigger phrases:**15- "exploiting server side request forgery"16- "Identifying and exploiting SSRF vulnerabilities to access internal services, clo"171819- During authorized penetration tests when the application fetches URLs provided by users (webhooks, URL previews, file imports)20- When testing cloud-hosted applications for access to instance metadata services21- For assessing PDF generators, screenshot services, or any feature that renders external content22- When evaluating microservice architectures for internal service access via SSRF23- During security assessments of APIs that accept URL parameters for data fetching242526## When NOT to Use2728- When you lack proper authorization for testing29- For production systems without change management30- When the task requires legal or compliance expertise beyond technical scope313233## Prerequisites3435- **Authorization**: Written penetration testing agreement including SSRF testing scope36- **Burp Suite Professional**: With Collaborator for out-of-band detection37- **interactsh**: Open-source OOB interaction server (`go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest`)38- **SSRFmap**: Automated SSRF exploitation framework (`git clone https://github.com/swisskyrepo/SSRFmap.git`)39- **curl**: For manual SSRF payload testing40- **Knowledge of target infrastructure**: Cloud provider (AWS, GCP, Azure), internal IP ranges4142## Workflow4344```python45# Example: IOC detection46import re4748IOC_PATTERNS = {49 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",50 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",51 "hash_md5": r"\b[a-f0-9]{32}\b",52 "hash_sha256": r"\b[a-f0-9]{64}\b",53}5455def extract_iocs(text: str) -> dict:56 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}57```58591. **Reconnaissance** — Gather information about the target related to server side request forgery. Identify attack surface.602. **Vulnerability Identification** — Enumerate potential server side request forgery weaknesses using automated and manual techniques.613. **Exploit Development/Selection** — Choose or develop exploits targeting identified server side request forgery vulnerabilities.624. **Execution** — Execute the server side request forgery test in a controlled manner with proper authorization.635. **Post-Exploitation** — Document the impact and extent of successful exploitation.646. **Reporting** — Write detailed findings with reproduction steps, impact assessment, and remediation guidance.6566## Tools6768- **Vulnerability Scanner** — Automated weakness identification69- **Exploitation Framework** — Controlled exploitation testing70- **Reporting Tool** — Findings documentation and tracking717273## Process74751. **Reconnaissance** — Gather target information, identify attack surface, enumerate services761. **Analysis/Exploitation** — Execute the technique, analyze results, document findings771. **Reporting** — Document IOCs, write findings, provide remediation recommendations7879## Verification8081- [ ] All server side request forgery procedures executed completely and documented82- [ ] Findings validated against multiple data sources83- [ ] False positives identified and filtered84- [ ] Results documented with evidence and timestamps85- [ ] Recommendations provided with risk-based prioritization8687## Anti-Rationalization Table8889| Rationalization | Reality |90|---|---|91| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |92| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |93| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |