Salut ! Je vais succinctement vous montrer ce qu'est une fork() bomb.
parfois écrit
En commentant, ça donne ça :
Pour plus de lisibilité, on pourrait très bien l'écrire comme ceci :
Quel est l'intérêt de ce bout de code ?
Ce code s'appelant lui-même sans cesse il se met très vite à utiliser tout les capacités CPU et RAM, provoquant un DOS du système sur lequel il est lancé.
Cela peut être utilisé pour tester la résistance d'un serveur web, ou d'une machine linux. Par exemple, ma BT n'a pas tenu deux secondes comme le montre le screen suivant :
Ca n'a pas pris plus d'une seconde. Comme vous le voyez, j'utilise une VM, donc pas de soucis pour moi, mais elle est devenue complètement inutilisable.
Il faut faire attention à ce genre de chose, car quelqu'un pourrait très bien mettre ce bout de code discrètement dans un script et le moment venu, bim, tout freeze. Imaginez maintenant quelqu'un accédant à un serveur web tiers non protégé qui exécuterait ce code (je ne ferais pas de démo sur mon serveur, ne sachant pas s'il est protégé ou non, et ne voulant pas d'ennui avec l'hébergeur en cas de pépin ^^ ).
Vous pouvez vous prémunir de ce genre de problème en définissant des limites dans le fichier /etc/security/limits.conf.
Code:
:(){ :|:& };:
Code:
:(){ :|:& } :
Code:
:(){ #on définit la fonction ":" :|:& #la fonction s'appelle elle-même, se pipe à elle-même et se met en background. } :#on appelle la fonction une première fois...
Code:
comaX(){ comaX | comaX& } comaX
Ce code s'appelant lui-même sans cesse il se met très vite à utiliser tout les capacités CPU et RAM, provoquant un DOS du système sur lequel il est lancé.
Cela peut être utilisé pour tester la résistance d'un serveur web, ou d'une machine linux. Par exemple, ma BT n'a pas tenu deux secondes comme le montre le screen suivant :
Ca n'a pas pris plus d'une seconde. Comme vous le voyez, j'utilise une VM, donc pas de soucis pour moi, mais elle est devenue complètement inutilisable.
Il faut faire attention à ce genre de chose, car quelqu'un pourrait très bien mettre ce bout de code discrètement dans un script et le moment venu, bim, tout freeze. Imaginez maintenant quelqu'un accédant à un serveur web tiers non protégé qui exécuterait ce code (je ne ferais pas de démo sur mon serveur, ne sachant pas s'il est protégé ou non, et ne voulant pas d'ennui avec l'hébergeur en cas de pépin ^^ ).
Vous pouvez vous prémunir de ce genre de problème en définissant des limites dans le fichier /etc/security/limits.conf.
Commentaire