Crystals
Challenge
A Ruby app fronted by nginx. The landing page plays on the Sinatra framework with a line about Sinatra not knowing this ditty, and shows a sample route.
| |
Approach
nginx had a stack of optional modules switched on.
50-mod-http-geoip2.conf 50-mod-http-image-filter.conf 50-mod-http-xslt-filter.conf
50-mod-mail.conf 50-mod-stream.conf 70-mod-stream-geoip2.conf
The part that mattered was the proxy_pass to the Ruby backend. It was written loosely enough that the proxy gave away where it was actually forwarding.
Solution
The misconfigured proxy_pass leaks the internal hostname of the upstream Ruby app, and that hostname is the flag.