[RT] Javascript - Authentification (5 pts)

Ce challenge est une introduction au problématique de sécurité liée a l’exécution de vérification sur la machine utilisateur.

·

2 min read

Partie 1 : Énumération

Notre points de départ est la page web suivante:

image.png

Cette page simpliste contient un formulaire d'authentification. Nous allons donc nous logger pour vois ce que le site nous retourne.

image.png

Ici j'ai essayé de me connecter avec le login et mot de passe admin

image.png

L'erreur nous est renvoyé par une alerte java script. Nous allons donc nous pencher sur le code source de la page.

Partie 2 : Etude du Code JS

Pour continuer, je me suis rendu dans l'inspecteur d'élément. Dans l'onglet réseau je trouve la requête qui ma permis de recevoir le script d'authentification

image.png

Ouvrons donc ce fameux fichier javascript

/* <![CDATA[ */

function Login(){
    var pseudo=document.login.pseudo.value; 
    var username=pseudo.toLowerCase(); 
    var password=document.login.password.value;
    password=password.toLowerCase();
    if (pseudo=="4dm1n" && password=="sh.org") {
        alert("Password accepté, vous pouvez valider le challenge avec ce mot de passe.\nYou an validate the challenge using this password.");
    } else { 
        alert("Mauvais mot de passe / wrong password"); 
    }
}
/* ]]> */

Dans ce code on remarque bien la comparaison entre les données rentrées par l'utilisateur et les bonnes données

  if (pseudo=="4dm1n" && password=="sh.org") {

Nous avons plus cas nous connecter avec les bonnes données.

image.png

L'alerte box nous indique que le flag pour terminer le challenge correspond au mot de passe. flag : sh.org

#Conclusion Ce challenge permet de bien cerner les différentes problématiques de sécurité lié a la vérification des credentials en local. Un attaquant pourrais simplement prendre la comparaison et se connecter en tant qu'un user.

Did you find this article valuable?

Support Akasaru0 by becoming a sponsor. Any amount is appreciated!