Writeup: FlareOn 2022: 001 - Flaredle
1. TLDR
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