Le code source fourni nous apprend que lorsque l’on visite la page d’accueil GET /
, le serveur vérifie s’il existe dans la requête envoyée le Header X-FCSC-2022
avec sa valeur Can I get a flag, please?
, si c’est le cas il ouvre le fichier flag.txt
et nous renvoie le flag.
var verif = req.header("X-FCSC-2022");
if (verif == "Can I get a flag, please?") {
var flag = fs.readFileSync("flag.txt");
res.status(200);
res.render("pages/index", {
type: "success",
msg: "Here it is: " + flag,
});
return res.end();
}
F12
pour ouvrir la console du navigateur et écrire un peu de JS :p. Le but est d’envoyer ce Header vers la bonne route par une requête GET et de récupérer ensuite la réponse du serveur.
await fetch("http://localhost:8000/", {
headers: {"X-FCSC-2022": "Can I get a flag, please?"}
} ).then( (data) => data.text() ).then( console.log )
On peut aussi utiliser cURL:
curl -X GET 'http://localhost:8000/' --header 'X-FCSC-2022: Can I get a flag, please?'