Cybersécurité.
This commit is contained in:
parent
d932edf5fa
commit
f23c1c615e
52
content/pages/supinternet_rendu.md
Normal file
52
content/pages/supinternet_rendu.md
Normal file
|
@ -0,0 +1,52 @@
|
|||
status: hidden
|
||||
title: Sup'Internet — Rendus
|
||||
slug: obiree2uaza2sh-rendu
|
||||
robots: noindex
|
||||
|
||||
# Rendu
|
||||
|
||||
Le rendu se fera par mail, par pièce jointe, sous forme d'un seul
|
||||
fichier, soit un `.zip`, soit un `.tar.gz`. Le fichier devra être
|
||||
nommé selon le format suivant : `printf("%s-%s_%s.%s", prénom, nom,
|
||||
nom_du_projet, zip ? "zip" : "tar.gz")`.
|
||||
|
||||
L'archive devra se décompresser en un seul dossier, contenant votre
|
||||
projet, au format: `printf("%s-%s_%s/", prénom, nom, nom_du_projet)`.
|
||||
```
|
||||
|
||||
Pour une tarball, je doit donc voir quelque chose comme :
|
||||
|
||||
:::shell
|
||||
$ tar tf julien-palard_exercise.tar.gz
|
||||
julien-palard_exercise/
|
||||
julien-palard_exercise/setup.py
|
||||
julien-palard_exercise/README.md
|
||||
julien-palard_exercise/tests/
|
||||
julien-palard_exercise/tests/test_exercise.py
|
||||
julien-palard_exercise/src/exercise.py
|
||||
|
||||
|
||||
Ou pour un zip, quelque chose comme :
|
||||
|
||||
:::shell
|
||||
$ unzip -l julien-palard_exercise.zip
|
||||
Archive: julien-palard_exercise.zip
|
||||
Length Date Time Name
|
||||
--------- ---------- ----- ----
|
||||
0 2016-11-18 09:34 julien-palard_exercise/
|
||||
0 2016-11-18 09:34 julien-palard_exercise/setup.py
|
||||
0 2016-11-18 09:34 julien-palard_exercise/README.md
|
||||
0 2016-11-18 09:34 julien-palard_exercise/tests/
|
||||
0 2016-11-18 09:34 julien-palard_exercise/tests/test_exercise.py
|
||||
0 2016-11-18 09:34 julien-palard_exercise/exercise.py
|
||||
--------- -------
|
||||
0 6 files
|
||||
|
||||
|
||||
Le sujet du mail devra être au format `printf("Rendu %s",
|
||||
nom_du_projet)`, en respectant la casse.
|
||||
|
||||
> Aucun rendu ne respectant pas strictement le format de rendu ne sera corrigé.
|
||||
|
||||
Plusieurs rendus sont possibles (si vous corrigez un bug, ou ajoutez
|
||||
une fonctionalité). Seul le dernier rendu sera pris en compte.
|
32
content/pages/supinternet_secu_hashid.md
Normal file
32
content/pages/supinternet_secu_hashid.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
status: hidden
|
||||
title: Cybersécurité — hashid
|
||||
slug: einao4Noo2ohro-hashid
|
||||
robots: noindex
|
||||
|
||||
# hashid
|
||||
|
||||
Le nom du projet est: `hashid`, en minuscule (c'est important pour le rendu).
|
||||
|
||||
L'exercice consiste à écrire un outil permettant de reconnaître un hash.
|
||||
|
||||
L'outil devra fonctionner *sans* serveur HTTP, le JavaScript est cependant autorisé : votre programme devra donc pouvoir être lancé en ligne de commande avec node.js. Tous les langages sont autorisés.
|
||||
|
||||
## Exemple
|
||||
|
||||
:::shell
|
||||
$ ./hashid 68b329da9893e34099c7d8ad5cb9c940
|
||||
md5
|
||||
$ ./hashid adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
|
||||
sha1
|
||||
|
||||
Sur 12 points : Être capable de distinguer les hash suivants: CRC16, Adler-32, md5, sha1, du bcrypt avec son salt tel que renvoyé en PHP par `password_hash("foo", PASSWORD_BCRYPT)`, et du whirlpool.
|
||||
|
||||
Sur 6 points: Reconnaître correctement au moins 15 hash différents.
|
||||
|
||||
Sur 1 point: Une option `--help` avec un "Usage" lisible.
|
||||
|
||||
Sur 1 point: Proposer une option pour pré-écrire à l'utilisateur la commande John the Ripper (disons `--john`) ou hashcat (disons `--hashcat`) pour tenter de casser le mot de passe.
|
||||
|
||||
Sur 1 point: Extraire le premier paragraphe de Wikipedia à propos du hash trouvé pour en afficher une description à l'utilisateur, si c'est fait au runtime c'est mieux si c'est optionnel, disons `--wikipedia`.
|
||||
|
||||
Sur 1 point: Une option pour lister tous les hash connus par l'outil, disons `--list`.
|
Loading…
Reference in New Issue
Block a user