Rating:
### Challenge Description
In this challenge you get a simple form with the 3 following fields:
* File URL
* DNS Server
* DNS Server Port
And a hint that the flag is at http://127.0.0.1/flag.
When you submit the form it serves the requested file for you as a proxy.
### Failed Attempts
* If you try to paste the URL of the flag there, it gets rejected for being an "Internal IP".
* If you try to use any other protocol but HTTP in the URL it gets rejected as well for "not HTTP".
* Next thing I tried was using some url of the form http://**somehost**/flag, putting a DNS server that is under my control in the form and having it resolve **somehost** to 127.0.0.1. That also got rejected for being "Internal IP".
### What worked
I put a url that was under my control in the *file* field and had it simply redirect to http://127.0.0.1/flag, The got me the flag.
For the redirect I used a simple text file containing:
```
HTTP/1.1 302 Found
Location: http://127.0.0.1/flag
```
(The 2 line endings above were in the file and are important to terminate the request.)
I served the file with `ncat -l port_number < redirect.txt`. I wonder if the DNS server fields were put to confuse or is there another solution that uses them.