J'essaie d'apprendre à utiliser une attaque de dépassement de tampon à Ubuntu. Malheureusement, je ne peux pas désactiver la fonctionnalité de la mise hors service de la mise en page d'espace d'adresse (ASLR) dans ce système d'exploitation, qui est activée par défaut. J'ai essayé de travailler dans certains livres de Fedora: mais pour une raison quelconque, la protection est toujours là. S'il vous plaît donnez-moi quelques suggestions. Merci. P> [modifier] En réalité, la commande ci-dessus n'a pas réussi, elle a déclaré que "la permission refusée", même avec sudo. Comment puis-je résoudre ce problème? P> [Ajouter] J'ai continué à obtenir une erreur de défaut de segmetation lorsqu'il affiche une adresse en pile. Est-il lié à une pile non exécutable à Ubuntu: (? P> p>
5 Réponses :
Vous aurez besoin des permanentes racines avant de l'essayer, et si je ne me trompe pas, de redémarrer une fois que vous l'avez fait.
sudo -i echo "0" > /proc/sys/kernel/randomize_va_space
Je l'ai essayé comme vous l'avez dit, mais après avoir redémarré Ubuntu, j'ai considéré que le fichier et la valeur précédente dans ce fichier n'étaient pas modifié: |. Merci.
Bien sûr, cela a changé après le redémarrage; / proc est un répertoire volatil. Essayez de recompiler le noyau avec Randomize_VA_Space éteint :)
Merci d'avoir répondu à cela, ça va être utile dans les prochains jours.
@wakandan - Je crois que "redémarrer" fait référence à votre programme, pas Ubuntu. Lorsque vous redémarrez Ubuntu, la protection est définie sur la valeur initiale (activée).
Compilation GCC avec -Fno-Stack-protecteur code> p>
Pour écho à des fichiers avec accès root à l'aide de sudo, vous pouvez utiliser le code suivant:
echo "0" | sudo tee /proc/sys/kernel/randomize_va_space
trouvé moi-même p>
Vous devez compiler de cette façon: P>
GCC -FNO-Stack-protector -z Execstack -o sortie entrée.c p>
Vous pouvez désactiver ASLR pour un processus particulier en lançant avec SETARCH
pour les programmes 32 bits: P>
setarch x86_64 -R yourProgram
Vous avez besoin d'exécutant (apt-get Installe Execstack) pour désactiver NX sur une base per-applications.
Related: Stackoverflow.com/questions/5194666/.../ a>