420-5D3 :  Carré de sable du projet

18 octobre 2023

Dans les prochaines semaines, vous allez réaliser différents laboratoires qui vont permettre de faire avancer le projet de session


Rappel de la pondération


Laboratoire 1

<?php
$motdepasse = 'password';
    echo '1 - Argon2i hash pour la chaine : ' . password_hash($motdepasse, PASSWORD_ARGON2I);
    echo '<br/>2 - SHA256 hash pour la chaine : ' . hash('sha256' , $motdepasse);
    echo '<br/>3 - BCRYPT (BLOWFISH) hash pour la chaine : ' . password_hash($motdepasse, PASSWORD_BCRYPT);
?>

Laboratoire 2 – Expression Régulière

Programmer un processus client/serveur qui permet à un utilisateur de se connecter à l’application. Note: Application WEB.

Les champs suivants doivent-être saisis et validés:


Laboratoire 3 – Hachage et ajout dans la BD

Programmer un processus client/serveur qui permet à un utilisateur de se s’inscrire à l’application. Note: Application WEB.

Le schéma ‘client’ doit-être utilisé pour la connexion à la BD.

NOTE: Les validations peuvent-être faites soit du coté client (javascript) ou coté serveur (php/framework …). C’est à votre choix.


Laboratoire 4 – Vulnérabilité des mots de passe

Écrire une application Web qui affiche la liste des utilisateurs:

Tester les mots de passe courants encodés en SHA256, Bcrypt et Argon2 avec l’aide de ‘rainbow table’. Par exemple, crackstation


Extra – Laboratoire E1 – Connexion à la BD via php

À partir de la BD O.T. disponible sur le serveur du D139, afficher le contenu de la table employés dans une page Web:


NOTE: Le script serveur doit rouler dans un conteneur à partir de votre poste de travail.


Extra – Laboratoire E2 – Expressions régulières

Programmer un processus client/serveur qui permet d’ajouter un employé dans la table employés.

Les champs suivants doivent-être saisis et validés:


Laboratoire 5 – View et Duality View

5.1 – Utiliser une vue (view) dans une requête SQL pour retourner un contenu à afficher coté client:

5.2 – Utiliser une Duality View pour obtenir les données en format JSON.

Par exemple,

create or replace json relational duality view pays_dv as
    countries @insert @update @delete
    {
        idPays   : COUNTRY_ID
        pNom     : COUNTRY_NAME 
        idRegion : REGION_ID
    
    };  
--- Exemple d'utilisation
select * from pays_dv fetch first 5 rows only;

Retournera:

Laboratoire 6 – Fonctions personnalisées

Utiliser au moins 2 fonctions SQL personnalisées dans le projet.


Laboratoire 7 – Procédures stockées PL/SQL

Utiliser au moins 2 procédures stockées PL/SQL dans le projet.


Laboratoire 8 – Déclencheurs

Utiliser au moins un déclencheur dans le projet.


Laboratoire 9 – Tests de pénétration : PenTest

À l’aide de Kali Linux, tester la sécurité du SID de votre serveur Oracle.