
Projet final pour Sécurité et Confidentialité CS 600.443
Projet final pour Sécurité et Vie Privée CS 600.443 | Automne 2018
J'ai initialement essayé d'utiliser diff pour créer un patch. J'ai patché le fichier comme je pensais qu'il devrait l'être, avant de voir le vrai patch. encrypt.patch est ce patch original que j'ai créé avec diff. Cependant, lorsque nous avons essayé d'appliquer ce patch à FreeBSD, il ne l'acceptait pas.
Au lieu de cela, j'ai dû récupérer le vrai patch. J'ai ensuite modifié le patch pour implémenter la correction comme je l'avais initialement imaginé. Cela fonctionne car cela met le chemin complet dans le patch.
Dans le patch, je vérifie simplement la longueur par rapport à MAXLENGTH. Si elle est plus grande, je la mets à 0. Ainsi, cela tombe dans le cas où len = 0, ce qui génère une erreur. Cela corrige le problème !
Voici une explication sur la façon d'appliquer un patch dans FreeBSD. https://www.freebsd.org/security/advisories/FreeBSD-SA-11:08.telnetd.asc Utilisez simplement ce patch au lieu de récupérer le vrai. Il fonctionnera, et vous ne pourrez plus exploiter le débordement de tampon.