Writeup: FlareOn 2022: 001 - Flaredle

Task description

1. TLDR

TLDR graph

2. Dane wejściowe

Plik z zadaniem znajduje się tutaj. Hasło: flare.

Przedmiotem zadania jest strona html z osadzonym javascriptem. Dostępne pliki to:

  index.html
  script.js
  style.css
  words.js

3. Analiza kodu

Kluczowym fragmentem był kod:

if (guessString === rightGuessString) {
	let flag = rightGuessString + '@flare-on.com';
	toastr.options.timeOut = 0;
	toastr.options.onclick = function() {alert(flag);}
    toastr.success('You guessed right! The flag is ' + flag);

    guessesRemaining = 0
    return
}

Czym była wartość rightGuessString? Słowem o indeksie 57:

const CORRECT_GUESS = 57;
let guessesRemaining = NUMBER_OF_GUESSES;
let currentGuess = [];
let nextLetter = 0;
let rightGuessString = WORDS[CORRECT_GUESS];

4. Odczytanie flagi

Flagą było słowo o indeksie 57 z dołączonym postfixem:

flareonisallaboutcats@flare-on.com