Bonjour à tous. Aujourd’hui je vous rédige mon premier write-up, donc j’implore votre indulgence 👍
EvilGouv a récemment ouvert un service de chat-bot, vous savez ces trucs que personne n’aime. Bon en plus d’être particulièrement nul, il doit forcément y avoir une faille. Trouvez un moyen d’accéder à l’intranet ! Lien : https://challengecybersec.fr/b34658e7f6221024f8d18a7f0d3497e4 Indice : Réseau localLe flag est de la forme : DGSESIEE{x} avec x un hash
Pour commencer, nous nous rendons sur le site de l’énoncé:
Voici ce nous pouvons observer:
A première vue, rien d’anormal… Bon, réflexe de base, allons faire un tour dans le code source…
Lorsque nous regardons le code source, on remarque un script JS ligne, 53 !
<script src="/b34658e7f6221024f8d18a7f0d3497e4/js/script.js" type="text/javascript"></script>
Sympa ! Allons voir à quoi ça ressemble !
Dans ce script ! Nous observons deux fonctions intéressantes qui travaillent avec les URLs.
FONCTION 1
function askBot(message) {
var url = window.location.href + "bot?message=" + message;
fetch(url)
.then(function (res) {
res.json().then(function(data){
var message = urlify(data.message)
var urls = data.message.match(urlRegex);
if (urls && urls.length > 0) {
var url = window.location.href + "proxy?url=" + urls[0];
fetch(url)
.then(function (res) {
console.log(res);
res.json()
.then(function (data) {
if(data.err){
addMessageContact(message,null);
}
else{
addMessageContact(message,data);
}
}).catch(function (err) {
addMessageContact(message,null);
});
});
} else {
addMessageContact(message,null);
}
});
});
}
Sur cette fonction nous voyons que l’on peut passer des messages au bot par l’URL. Par exemple: