Le but de ce TP est de gagner en compétences sur la recherche de failles de sécurité, en étudiant des vulnérabilités existantes et en développant des exploits pour celles-ci.
Vous travaillerez en groupe de 3 ou 4 personnes.
Vous choisirez dans la première demi-heure un logiciel à attaquer. Voici les critères recommandés:
- Open source, pour faciliter l’étude du code contenant la faille
- Choisissez une vulnérabilité connue et publiée dans une version dépassée du logiciel (n’allez pas chercher des failles dans les dernières versions, ça pourrait prendre trop de temps)
- Préférez des logiciels web ou mobile, écrits dans des langages que vous maitrisez. Le développement d’exploits type buffer overflow pour des logiciels et plateformes récents risque d’être trop compliqué à faire dans un temps raisonnable
- Une fois le logiciel choisi, venez m’en faire part pour valider le choix.
Vous aurez 2 livrables pour ce TP:
- Un texte court, écrit comme un rapport de bug à destination de l’équipe développant le projet, indiquant:
- Quelles versions du logiciel sont affectées
- Quelle partie du code contient la faille
- Une explication du fonctionnement de la faille et comment la déclencher
- Une proposition de solution pour corriger la faille
- Un exploit démontrant la faille. L’exploit peut se présenter de plusieurs manières:
- Un fichier à ouvrir avec le logiciel
- Un lien à ouvrir dans un navigateur
- Une commande curl que l’on peut pointer sur un site
- Un script à exécuter
Notez au passage qu’il est interdit de reprendre le code d’un exploit existant. Le but de l’exercice est d’apprendre à développer vos propres exploits.