Какова история позади fork-бомбы?

Это может быть, клиентский тайм-аут после издания "ПОЧТЫ ОТ":.
Знание точного значения задержки ответа должно обеспечить ценную подсказку.

Вы могли отправить тестовое сообщение в подробном режиме? [Это должно предоставить расшифровку стенограммы сессии SMTP]

#!/bin/sh
# -v - be verbose (provide SMTP transcript)
# -i - 'single dot' line is NOT end of email
# -t - get recipients list from email headers
# -f - set envelope sender email address (for "MAIL FROM:" in SMTP session)
/usr/sbin/sendmail -v -i -t -ffromaddress@emaildomain.com <<END
Subject: test
From: fromaddress@emaildomain.com
to: xxx@example.net

test
END
6
21.08.2017, 14:32
1 ответ

Это не что-то новое. Это датирует путь к 1970-х годам, когда он ввел.

цитируя из здесь ,

одна из самых ранних счетов бомбы вилкой была в университете Вашингтон на заручке 5500 в 1969 году. Он описывается как «хак» названные кролики, которые сделали бы два копии себя, когда он был бежать, И эти два будут генерировать еще два копии каждый, а копии будет продолжать делать больше копий, пока память не была полной, вызывая Сбой системы. Q Misanthrope написал программу, подобную кролику, используя Основные в 1972 году, в то время как в классе 7. Джерри Лейхтер Яельского университета Описывает слушание программ, похожих на кролики или бомбы вилков в его Алма Матер Принстона и говорит, что дата его выпускной, они должны быть с 1973 года или раньше. Учетная запись 1974 года описывает программу На самом деле названный «кролик» работает на системе IBM 360 в большой фирме и молодой сотрудник, который был выписан за то, что он его пробел.

Итак : () {: |: &}; - это просто способ внедрения вилкой бомбы в оболочке. Если вы возьмете другой язык программирования, вы могли бы реализовать на этих языках. Например, в Python вы можете реализовать вилкую бомбу как,

 import os
 while True: 
 os.fork()

больше способов реализации бомбы вилкой на разных языках можно найти из ссылки Wikipedia .

Если вы хотите понять синтаксис, это довольно просто. Нормальная функция в оболочке будет выглядеть как

foo(){
 arg1=$1
 arg2=$2
 echo 'Bar..'
 #do_something on $arg argument
}

Fork () Бомба () Bomb определяется следующим образом:

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

: |: - Далее он позвонит себе с помощью метода программирования, называемую рекурсию и трубы, вывод на другой Звонок функции : . Худшая часть - функция, погружаясь два раза, чтобы бомбить вашу систему.

& - Удаляет функцию вызова на заднем плане, чтобы ребенок не мог умереть вообще и начать есть системные ресурсы.

; - Прекратить определение функции

: - Call (Run) Функция AKA Установите Fork () Bomb.

Вот еще читаемый человечески читаемый код:

bomb() {
 bomb | bomb &
}; bomb

Список литературы

http://www.cyberciti.biz/faq/understanding-bash-fork-bomb/

14
27.01.2020, 20:22

Теги

Похожие вопросы