Products

Solutions

Resources

Search for API Security Tests

/

/

Sensitive AWS details exposed via replacing url param with encoded url due to SSRF

Sensitive AWS details exposed via replacing url param with encoded url due to SSRF

The endpoint appears to be vulnerable to Server Side Request Forgery attack. The original request was replayed by replacing the URI parameter with metadata endpoint provided by AWS in enclosed alphanumerics. The application responded with 2XX success code and also gave out sensitive AWS information in response.

Server Side Request Forgery (SSRF)

"The endpoint appears to be vulnerable to Server Side Request Forgery attack. The original request was replayed by replacing the URI parameter with metadata endpoint provided by AWS in enclosed alphanumerics. The application responded with 2XX success code and also gave out sensitive AWS information in response. Server-Side Request Forgery (SSRF) flaws occur whenever an API is fetching a remote resource without validating the user-supplied URL. It allows an attacker to coerce the application to send a crafted request to an unexpected destination, even when protected by a firewall or a VPN.\n "Modern concepts in application development make SSRF more common and more dangerous.\n" "More common - the following concepts encourage developers to access an external resource based on user input: Webhooks, file fetching from URLs, custom SSO, and URL previews.\n" "More dangerous - Modern technologies like cloud providers, Kubernetes, and Docker expose management and control channels over HTTP on predictable, well-known paths. Those channels are an easy target for an SSRF attack.\n" "It is also more challenging to limit outbound traffic from your application, because of the connected nature of modern applications.\n" + "The SSRF risk can not always be completely eliminated. While choosing a protection mechanism, it is important to consider the business risks and needs."

"The endpoint appears to be vulnerable to Server Side Request Forgery attack. The original request was replayed by replacing the URI parameter with metadata endpoint provided by AWS in enclosed alphanumerics. The application responded with 2XX success code and also gave out sensitive AWS information in response. Server-Side Request Forgery (SSRF) flaws occur whenever an API is fetching a remote resource without validating the user-supplied URL. It allows an attacker to coerce the application to send a crafted request to an unexpected destination, even when protected by a firewall or a VPN.\n "Modern concepts in application development make SSRF more common and more dangerous.\n" "More common - the following concepts encourage developers to access an external resource based on user input: Webhooks, file fetching from URLs, custom SSO, and URL previews.\n" "More dangerous - Modern technologies like cloud providers, Kubernetes, and Docker expose management and control channels over HTTP on predictable, well-known paths. Those channels are an easy target for an SSRF attack.\n" "It is also more challenging to limit outbound traffic from your application, because of the connected nature of modern applications.\n" + "The SSRF risk can not always be completely eliminated. While choosing a protection mechanism, it is important to consider the business risks and needs."

Impact of the vulnerability

Impact of the vulnerability

Successful exploitation might compromise sensitive AWS information which attacker can use to get unauthorized access to AWS.

Successful exploitation might compromise sensitive AWS information which attacker can use to get unauthorized access to AWS.

How this template works

APIs Selection

The template uses API selection filters to specify the criteria for selecting the APIs to be tested. In this case, the filters are based on the response code, where the code should be greater than or equal to 200 and less than 205. Additionally, the filters check for the presence of certain keywords in the request payload or query parameters.

Execute request

The template specifies a single request to be executed. It modifies the query and body parameters by replacing the URL key with an encoded URL. This modification is done to simulate a Server Side Request Forgery (SSRF) attack. The encoded URL points to a metadata endpoint provided by AWS.

Validation

After executing the request, the template validates the response. It checks that the response code is between 200 and 300, indicating a successful request. It also checks that the response payload contains either "ami-id" or "ami-launch-index" or "ami-manifest-path" or "block-device-mapping" or "instance-action". If these conditions are met, it suggests that sensitive AWS information has been exposed, indicating a successful exploitation of the SSRF vulnerability.

Frequently asked questions

What is Server Side Request Forgery (SSRF) and how does it pose a risk to applications

How does the SSRF vulnerability in this test occur

What are some modern concepts in application development that make SSRF more common and dangerous

How does the impact of successful exploitation of this vulnerability affect AWS

What are the recommended protection mechanisms to mitigate SSRF risks

What are some references for further understanding and prevention of SSRF vulnerabilities

Loved by security teams!

Loved by security teams!

Product Hunt Badge

"We are absolutely thrilled with the testing feature of Akto. We have used it on our graphQL endpoints and it performs flawlessly identifying common API security issues. It's truly a game-changer and we highly recommend Akto to anyone looking to effortlessly secure their API endpoints. With a user-friendly interface, it's the perfect solution for anyone looking to embrace custom rules with context to reduce false positives."

Loom Company logo

Security team,

Loom

"We are absolutely thrilled with the testing feature of Akto. We have used it on our graphQL endpoints and it performs flawlessly identifying common API security issues. It's truly a game-changer and we highly recommend Akto to anyone looking to effortlessly secure their API endpoints. With a user-friendly interface, it's the perfect solution for anyone looking to embrace custom rules with context to reduce false positives."

Loom Company logo

Security team,

Loom

"The text editor in Akto is absolutely remarkable. Its user-friendly YAML format strikes the perfect balance between simplicity and power. With intuitive features like 'API selection filter', 'Execute', Validate' creating test rules becomes incredibly easy. Akto's test editor is a game-changer, enabling seamless creation of highly personalized and effective tests that could meet the needs of any modern day organization. "

Rippling Company logo

Security team,

Rippling

Suggest API security tests

Suggest API security tests

We're actively building the test library. Suggest a test! If we like your suggestion, you will see it in the library in few days.

We're actively building the test library. Suggest a test! If we like your suggestion, you will see it in the library in few days.