is a web security vulnerability that allows an attacker to induce the server-side application to make HTTP requests to an arbitrary domain of the attacker's choosing. In a typical SSRF attack, the attacker might cause the server to make a connection to internal-only services within the organization's infrastructure. In other cases, they may be able to force the server to connect to arbitrary external systems, potentially leaking sensitive data such as authorization credentials.
that appear to contain hostnames, IP addresses, or full URLs For each parameter, modify its value to specify an alternative resource, similar to the one being requested Check if that resource appears in the server’s response Define a URL targeting a server on the Internet that you regulate, and monitor for incoming connections from the application you are testing If no incoming connection is received, monitor the time taken for the application to respond If there is a delay, the application’s back-end requests may be timing out due to network restrictions on outbound connections If a successful connection with an arbitrary URL is established, try to perform the following:
that make HTTP requests when certain events happen. In most webhook features, the end user can choose their own endpoint and hostname. Try to send HTTP requests to internal services. • PDF generators: try injecting <iframe>, <img>, <base> or <script> elements or CSS url() functions pointing to internal services. • Document parsers: try to discover how the document is parsed. In case it’s an XML document, use the PDF generator approach. For all other documents, see if there’s a way to reference external resources and let the server make requests to an internal service. • File uploads: instead of uploading a file, try sending a URL and see if it downloads the content of the URL
certain address /address range. For eg: o http://127.0.0.1 o http://localhost • Whitelisting Only allow input that matches, begins with, or contains, a whitelist of permitted value
is 169.254.169.254 so don't use 127.0.0.1 there! • Google Cloud http://169.254.169.254/computeMetadata/v1/ • Azure http://169.254.169.254/metadata/v1/maintenance • Alibaba http://100.100.100.200/latest/meta-data/