SSRF vulnerability triggered
Goal
Detect successful exploitation attempts of the SSRF vulnerability.
Server-Side Request Forgery (SSRF) is a web security vulnerability that allows an attacker to deceive the application and make requests to an unintended location.
In a typical SSRF attack, the attacker might cause the server to make a connection to internal-only services within an organization’s infrastructure. In other cases, they may be able to force the server to connect to arbitrary external systems, potentially leaking sensitive data.
Strategy
Monitor application security events to detect SSRF attack patterns (@appsec.security_activity:attack_attempt.ssrf
) on distributed traces where external HTTP requests are performed. The heuristic conducts additional analysis to detect if the SSRF vulnerability exists and is triggered or not. When a vulnerability exploitation attempt is detected (@appsec.security_activity:vulnerability_trigger.ssrf
), a Security Signal with CRITICAL
severity is generated.
The detection heuristics are as follow:
The severity of the signal is lowered to High
when the application threw an exception during execution, indicating they might not have succeeded at impacting the system.
Triage and response
- Consider blocking the attacking IPs temporarily to slow down further exploitation of your infrastructure.
- Investigate the domains and IP addresses accessed by this SSRF attack to scope the impact of the attack.
- Consider adding more restrictions on your code for the user inputs to prevent any user from making unsupervised external HTTP requests. You may also decide to isolate the services performing those requests.
- Consider switching the WAF rule
rasp-934-100
to blocking mode to prevent exploitation.