In the real world, it is extremely rare to find yourself with direct shell access to your target environment, even an unprivileged one.
After gaining an initial foothold through various vulnerabilities, you typically need a reliable means of achieving remote code execution.
Usually, you have two main options: bind shells and reverse shell. A bind shell opens a port on the target machine and waits for you to connect, but this approach has severe limitations. Firewalls typically block incoming connections, NAT makes direct connections impossible, and monitoring tools easily detect open ports.
A reverse shell, however, instead of you trying to connect TO the target, the target connects to YOU. The compromised system reaches out through the firewall (outbound connections are usually allowed), bypasses NAT restrictions, and establishes the connection from the inside out.
It's like having the fortress call you with the keys, rather than trying to break down the front gate.
Challenge Environment
In this challenge, the server is automatically started; you can access the website at: https://challenge.internal
The server is listening for a request at https://challenge.internal/reverse endpoint in order to trigger a reverse shell connecting to localhost on port 1337.