La challenge implementa un semplice controllo delle credenziali client-side
Analizzando il sorgente della pagina visitata trovaiamo lo script JavaScript che viene eseguito al click del pulsante.
const password = document.getElementById("password").value;
if (password !== "Belandi, dammi la flag!") {
document.getElementById("result").innerText = "Password errata";
} else {
flag = await (
await fetch("/flag?password=" + encodeURIComponent(password))
).text();
document.getElementById("result").innerText = flag;
}
Da qui possiamo ottenere la password Belandi, dammi la flag!
che ci permetterà di ricevere la flag.
import requests
r = requests.get('http://treasure.challs.olicyber.it/flag?password=Belandi%2C%20dammi%20la%20flag!')
print(r.text)