The following image was provided with no description:
Straight away, it is obvious that this image is a QR code, which if you don't know is data stored in an image. It is usually used for people to access a product's website or some other data by taking a photo of the QR code with their mobile phone.
It was straight away obvious that I should read the data from it to see what it contains. Plugging it into this QR code site, which let me upload the image and it gave the read data of the QR as an output. The output was given as below:
A keen eye will notice that this is bas64, but to confirm plugging it into this site will check the hash bitmap and confirms that it is base64.
At this point I knew this base64 string needed to be decoded, so I headed to a base64 decoder and decoded the string. I noticed a few key words in the output, which I won't list because of a lack of ASCII characters. They keywords I noticed where "PNG", "IHDRYY" and "IDAT". This is data stored in the header of PNG image files.
From here I stored the base 64 string above into a file (image.dat), and ran:
$ base64 -D image.dat > out.png
Opening this image, I could see another QR image, but with less complexity. I repeated the above process another two times, and on the second time (the QR image getting smaller and smaller) the flag was in the data read from the third QR image.