Hey Bandcamp, thank you for the treasure hunt!

On the other day, I got an email notification from Bandcamp about a newly released album from a band I followed. I went to the bandcamp.com site, and there was “We’re hiring in design and engineering!”. Out of curiosity, I checked what their job ad looked like.

In the very end of the job description there was “To apply, check the HTTP headers.”. Oh, a treasure hunt!

Usually, when I browse a site I check page source too, for no particular reason. I have this thing. Sometimes one can find interesting things in it. You could guess now what I did. Yes, I let myself hijacked from my original intent. I immediately got hooked, and I enjoyed their game so much! Not to mention how much I learnt meanwhile.

This also could be an example of why you should start using browser developer tools.

So I checked the HTTP headers.

Open the developer tools, select Network tab, reload the page, select any HTTP request on the left panel, and the HTTP headers will be displayed on the right panel.

0

And there was an url in it, the next clue!

x-bc-jobs: Why hello there! http://bandcamp.com/treasure2/berners-lee

Visiting this url I got this:

1

At this point I realized I would need a tool for editing requests. I googled for a Chrome extension and found Advanced REST Client. I added it to Chrome, and I could come up with the required POST request pretty easily.

2

Yes, the response contained the next clue (yet another url), which led led me to an image of some code.
3

I have to admit that I was too lazy to solve this properly. I knew it would lead me to the next url, and based on the previous experiences, I assumed that it started with http://bandcamp.com/. I was working on this for a while, but in the end, I managed to get right url. Which led to the next mystery:

4

In the bottom of this page the text was:

.e .m .a~.i .l, .y .o~.u>.r, .c~.o~.v .e .r, .l+.e~.t .t .e~.r, .a .n .d, .r~.e+.s~.u .m~.e .t+.o

It took some time until I found that out what I saw was CSS selectors. So I copy-paste-d this text into the browser’s CSS as a new style rule.

Open the developer tools, select Elements tab, select Tyles tab on the right. With the plus icon you can add new style rule.

I set the background-color to red, thus I all I had to do was to collate the letters marked in red.

YAY!

 

What a pity, they don’t have tester positions open…

Advertisements

3 thoughts on “Hey Bandcamp, thank you for the treasure hunt!”

  1. Hello! How did you set your parameters for the content-length during the POST request? I was able to solve this finally but it gave me this message saying “That might be your favorite number, but it’s not the right Content-Length.” even though I was setting it to 46. I got stumped with the Content-Length and the last line of “in1980=cern&in1991=www&in2004=knight+commander” – Wasn’t sure what to do with that. I ended up finding the link somewhere else and continued on my own from there. I just still want to know why it wasn’t working for me haha.

    Like

    1. Hi! I’ve also set Content-Length to 46 🙂 “in1980=cern&in1991=www&in2004=knight+commander” parameter name and value pairs, set it in the Body. POST request should work like this, and response header contains the next url. Will you try to send the POST request with those values in the body? Let me know how it goes, please 🙂

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s