ImaginaryCTF 2021 Writeup

Posted on

Sanity Check (15 points)

The flag is inside of the question description.

Answer: ictf{w3lc0m3_t0_1m@g1nary_c7f_2021!}

Discord (15 points)

The flag is in the discord for the CTF.

Answer: ictf{d41ly_ch4lls_0n_d1sc0rd_AND_4_ctf?_epic}

Chicken Caesar Salad (50 points)

Shift the provided text down by 8 letters to break the cipher.

Answer: ictf{wHen_dID_cAEseR_cIphERs_gEt_sO_hARd}

Roos_World (50 points)

The can be found by checking the console in browser tools. Javascript Code that runs when the page is loaded outputs the flag in the console.

Answer: ictf{1nsp3ct0r_r00_g0es_th0nk}

Hidden (50 points)

I ran the command strings challenge.psd | grep { to find the flag.

Answer: ictf{wut_how_do_you_see_this}

Vacation (100 points)

I looked for something very identifiable in the picture and “Tahoe Hemp Company” looked like a good choice. There was also the banner on the left side of the picture that identified the general area as “City of South Lake Tahoe”. I searched for the company online along with the additional location information and was taken to a picture that shows the same surroundings as the provided image for the challenge. I put the company name in Google Maps, and found the correct coordinates (at least to 3 decimal places):

Lat: (38.9472063), Long: (-119.9610895)

Answer: ictf{38.947_-119.961}

Spelling Test (100 points)

I used the words_alpha.txt file for English Language words from this GitHub repository and adapted the code from the example to get the flag. With the provided words.txt for the challenge and 370K word list, I used the following python code to get some of the words that might be mispelled.

def load_words():
    with open('words_alpha.txt') as word_file:
        valid_words = set(word_file.read().split())

    return valid_words

words_txt = open("words.txt", 'r')

missspelled_words = []

if __name__ == '__main__':
    english_words = load_words()
    for i in words_txt:
        if i.rstrip('\n') not in english_words:
            missspelled_words.append(i)

for i in missspelled_words:
    print(i)

I had to manually go through the result set to see which words were actually mispelled as the results also included words that were spelled correctly but weren’t in the massive list like “wikipedia” and “nottingham”. Once identified, the altered letters did combine into an intelligible string which when properly formatted was the correct flag.

Answer: ictf{youpassedthespellingtest}