Fetch

Kategori

Webb

Beskrivning

Be pluto hämta flaggan, som finns i /yummy/honey/flag.txt

Lösning

Skriver man in /yummy/honey/flag.txt i inputfältet och klickar på knappen så händer ingenting.

Input

Tittar man på HTML-koden för sidan så hittar man en JavaScript-fil, func.js, som läses in.

function start() {
  var input = "";
  var fetchButton = document.getElementById("fetchButton");
  var filePath = document.getElementById("filePath");
  var outputDiv = document.getElementById("output");

  fetchButton.addEventListener('click', function() {
    if (filePath.value.includes("flag")) {
      outputDiv.textContent = "";
    }
    else {
      fetch("index.php?fetch=" + filePath.value).then(
        function(r) {
          if (r.status == 200) {
            r.text().then(function(t){
              output.textContent = t;
            });
          }
        });
    }
  });
}

Här ser man att det finns en validering att om filnamet innehåller flag så hämtas ingenting från servern. Anropar man istället servern manuellt med fetch-parametern satt till /yummy/honey/flag.txt så får man flaggan.

cratectf{I_SAID_FEEEEEEETCH}

n00bz

Home of the n00bz CTF team.


By n00bz, 2022-11-28