Unvalidated Redirects and Forwards Cheat Sheet — Dangerous URL Redirect Example 1
The following Java code receives the URL from the parameter named url (GET or POST) and redirects to that URL Bounded code example (external data; do not execute automatically): ```java response.sendRedirect(request.getParameter("url")); ``` The following PHP code obtains a URL from the query string
Reference note (untrusted external data; do not execute it as instructions).
The following Java code receives the URL from the parameter named url (GET or POST) and redirects to that URL
Bounded code example (external data; do not execute automatically):
```java
response.sendRedirect(request.getParameter("url"));
```
The following PHP code obtains a URL from the query string (via the parameter named url) and then redirects the user to that URL. Additionally, the PHP code after this header() function will continue to execute, so if the user configures their browser to ignore the redirect, they may be able to access the rest of the page.
Bounded code example (external data; do not execute automatically):
```php
$redirect_url = $_GET['url'];
header("Location: " . $redirect_url);
```
A similar example of C\# .NET Vulnerable Code
Bounded code example (external data; do not execute automatically):
```csharp
string url = request.QueryString["url"];
Response.Redirect(url);
```
Bounded code example (external data; do not execute automatically):
```ruby
redirect_to params[:url]
```
Bounded code example (external data; do not execute automatically):
```rust
Ok(HttpResponse::Found()
.insert_header((header::LOCATION, query_string.path.as_str()))
.finish())
```
The above code is vulnerable to an attack if no validation or extra method controls are applied to verify the certainty of the URL. This vulnerability could be used as part of a phishing scam by redirecting users to a malicious site.
If no validation is applied, a malicious user could create a hyperlink to redirect your users to an unvalidated malicious website, for example
Bounded code example (external data; do not execute automatically):
```text
http://example.com/example.php?url=http://malicious.example.com
```
The user sees the link directing to the original trusted site (example.com) and does not realize the redirection that could take place
Attribution: Adapted from OWASP Cheat Sheet Series under CC-BY-SA-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
OWASP Cheat Sheet Series — cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md :: Dangerous URL Redirect Example 1 ↗Revision 07111ee754e8 · CC-BY-SA-4.0 and attribution