]> git.somenet.org - pub/jan/ctf-seminar.git/blob - writeups/aliponti/otw_advent_bonanza19.md
ilm0 - formatting fix
[pub/jan/ctf-seminar.git] / writeups / aliponti / otw_advent_bonanza19.md
1 # Over The Wire Advent Bonanza 2019
2
3 The Over The Wire Advent Bonanza is a jeopardy style CTF, where challenges get released on a daily bases. It featured a variety of challenges from traditional CTF categories all the way to baking cookies. I did not spend a lot of time on this, but since I solved one of the Easter egg challenges, I thought I might as well do a very brief write-up.
4
5 ## Easter Egg 1
6
7 The description said: `TODO: make clean`. This looks like an instruction for the GNU utility `make`, that is typically used to remove temporary files. So I thought about maybe there are some temporary files accessible via their URL. I checked the available files. The `robots.txt` file had some suspicious content, so I checked some possible endings for temp files. These include swap files ending in `.swp` as wel as backup files ending in `~`, created by some editors like `vim`. With the later one I got lucky and found a path to a secret directory containing the flag.
8
9 ## Easter Egg 2
10
11 The second Easter egg had no description at all just the link to the CTFs website. So I checked the source code as well as the images, css and js files used on the page for anything suspicious. But no luck. The solution was found by a colleague of mine in a HTTP-header set by cloudflare. I had checked the headers before but could not spot this one.
12
13 ## Easter Egg 3
14
15 For Easter egg number 3 we got a link to a tweet by the organizers showing a picture of a matrix barcode that had the characteristic corner elements of a QR-code. So i scanned it, obtaining the resulting string `137:64:137:154:171:146:63:175`. This fits the format of an IPv6 address. So I checked, but no server was responding to this IP. I also tried converting the numbers to ASCII symbols, since the numbers would be in the range of octal numbers for ASCII characters. but the result did not look like anything meaningful to me `_4_lyf3}`. What I missed, but luckily not one of my colleagues who solved the challenge in the end, is that the middle part of the matrix code was in fact not part of the QR-encoding, but is part is the position marker for another matrix encoding known as [Aztec Code](https://en.wikipedia.org/wiki/Aztec_Code). So what we have after all is a matrix barcode polyglot, since the code is both a valid QR-Code as well as Aztec-Code. This is possible because such codes have error correcting properties that allow for extra stuff to be included while keeping the code readable. [1](https://hackaday.com/2011/08/11/how-to-put-your-logo-in-a-qr-code/)
16
17 ![Easter Egg 3](otw_advent_bonanza19/easter_egg3.jpeg)
18
19 ## Time report
20
21 Throughout the CTF I checked in several times to see what new challenges there where, but they where either not interesting to me or already solved, so I did not invest a lot of time, not enough to report at least, on any challenge except the Easter eggs, as they where pretty small and doable in around 1 hour each.