我們警告,如果出於好奇您想嘗試以下內容,這是您的責任
叉子炸彈的快速說明。 叉子炸彈在GNU / Linux中起什麼作用?
:(){:|:&};:
這是一種拒絕服務或DoS攻擊,它的作用基本上是飽和計算機上的可用空間,儘管可以使用任何語言的fork炸彈,但我只會關注 打壞,看起來很奇怪
儘管它看起來很複雜,但它很簡單,它是一個可以自我調用的簡單函數。...
:(){:|:&};:
這裡一個簡單的功能...
function(){var1 = $ 1 echo“ Function”}
對於任何可以閱讀和一點編程的人
炸彈(){bomb | 泵&};泵
如您所見,它確實很簡單,它創建了一個調用自身的函數,從而創建了一個循環,直到達到目標,該循環才會停止,從而使計算機飽和。
總而言之...
:(){
該函數稱為:
:|:
該函數通過遞歸和管道進行調用。 最糟糕的部分是您第二次打電話時...
&
使後台功能運行,因此直到所有資源用盡之前,進程都無法終止
};:
該函數結束並再次調用...
萬一有人好奇看到一個對於一個新手來說甚至很奇怪的誘人代碼,但是一點邏輯都解決不了什麼
這篇文章寫在 我們的論壇 由 世界反興奮劑機構,我只在文本中進行了一些小的編輯就將其帶到這裡。
阿爾弗雷德。
實際上,這很有趣,儘管今天如果他們向您投擲叉子炸彈,什麼都不會發生,因為您設置的安全級別限制了任何程序可以生成的進程數量,只有Arch,Gentoo等發行版默認沒有這些限制。並且必須創建它們。
這很有趣,因為我和Tete花了一天的時間對此話題大笑,許多安裝Arch的人只安裝了它並在上面放置了環境,卻忘記了許多其他非常重要的東西,這些東西是配置所必需的(或者至少他們是必要的是,事實是我不知道現在的情況),這就是為什麼有人說它“易於安裝”。
無論如何,我認為用python炸彈來解釋它會更簡單一些,這更加明確。
實際上,在安裝具有Arch和/或Gentoo的極簡風格的GNU / Linux發行版時,這些過程執行設置通常非常重要。
順便說一句,我開始使用Arch的時候是要測試剛發布的程序和接口的版本。 無論如何,那枚叉子炸彈很有趣。
是的,在python中更容易理解,如果有人感興趣,我可以將它們留在這裡:
進口口
而True:
--- Os.fork()
和遞歸:
進口口
def炸彈():
--- Os.fork()
- 炸彈()
炸彈()
Nano應該注意的是,在debian 7 Stable中,也沒有安全性,至少沒有python時,系統會立即掛起。
問候。
好吧,我在Ubuntu中執行了一次fork炸彈,計算機立即崩潰了
要禁用泵,請使用以下命令限制終端中的過程:ulimit -u 50和禁用泵:p。
無論如何,必須提到的是,當前的操作系統已經限制了它們可以激活的進程數量,這是在Fedora上發射分叉炸彈的問題,什麼也不會發生。
毫無疑問,但是例如solaris和窗戶(這是我測試過的地方)都沒有受到保護。
涼! 🙂
照著做; 但是這次使它有用,也就是說,在Windows上運行並了解發生的情況。 不在GNU / Linux上。
我很好奇,它與計算機破壞事件的距離很近,我不知道Gnash播放器是否會出現這種情況:在Vimeo網站上,它可以完美地運行視頻,但是在YouTube上,它幾乎無法達到240像素的分辨率; 在我看來,在Dailymotions中,它不會重現一些我無法理解的東西,因為我不是程序員。
如果這沒有改變,那麼對於自由軟件支持者來說,發布我們的視頻並分發給所有人而不受到歧視是一個不錯的主意。
Gnash應該注意這一點,但是由於其發展緩慢,因此Mozilla選擇基於Java的Shumway製作自己的Flash播放器。 我希望Shumway即將推出,以便我可以替換GNU / Linux上的Flash Player。
既然如此,僅僅說出如何保護自己是不夠的,一個非常基本的方法(特別是對於Noobs Archers而言)是限制進程的數量,為此,我們轉到/etc/security/limits.conf並添加以下行:
*硬nproc 1000
以此,我們將進程限制為該數量,例如,我將其設置為該數量(儘管整個OS處於全運行狀態,而運行的進程要少得多,大約為200-300個進程),並且當應用fork炸彈時,我的OS仍然可以正常運行而且很明顯,如果我們將進程數限制在非常低的水平,則可能會帶來其他後果,因為某些程序想要創建進程,而操作系統不允許,就我而言,它限制為1000個進程。適合我
我已經把它
* soft nproc 500
* hard nproc 1000
儘管Arch Wiki建議軟為100,硬為200。
儘管應該沒問題,但我恐怕要投炸彈進行測試... xD
屏蔽的最簡單方法是限制ulimits值,以便可以終止泵過程。
有趣的文章,為防止它在Slackware中使用,我們在/ etc / profile文件中使用ulimit
限制ulimit的問題在於,它可能會根據您的操作來限制您對系統的使用。