快速解釋GNU / Linux中的fork炸彈

我們警告,如果出於好奇您想嘗試以下內容,這是您的責任

叉子炸彈的快速說明。 叉子炸彈在GNU / Linux中起什麼作用?

:(){:|:&};:

這是一種拒絕服務或DoS攻擊,它的作用基本上是飽和計算機上的可用空間,儘管可以使用任何語言的fork炸彈,但我只會關注 打壞,看起來很奇怪

儘管它看起來很複雜,但它很簡單,它是一個可以自我調用的簡單函數。...

:(){:|:&};:

這裡一個簡單的功能...

function(){var1 = $ 1 echo“ Function”}

對於任何可以閱讀和一點編程的人

炸彈(){bomb | 泵&};泵

如您所見,它確實很簡單,它創建了一個調用自身的函數,從而創建了一個循環,直到達到目標,該循環才會停止,從而使計算機飽和。

總而言之...

:(){

該函數稱為:

:|:

該函數通過遞歸和管道進行調用。 最糟糕的部分是您第二次打電話時...

&

使後台功能運行,因此直到所有資源用盡之前,進程都無法終止

};:

該函數結束並再次調用...

萬一有人好奇看到一個對於一個新手來說甚至很奇怪的誘人代碼,但是一點邏輯都解決不了什麼

這篇文章寫在 我們的論壇世界反興奮劑機構,我只在文本中進行了一些小的編輯就將其帶到這裡。

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   埃利奧時間3000 他說:

    因為有些人不追求任何合乎邏輯的東西,例如金錢。 您不能購買,恐嚇,說服他們或與他們進行談判。 有些人只想看世界燃燒。

    阿爾弗雷德。

  2.   納米 他說:

    實際上,這很有趣,儘管今天如果他們向您投擲叉子炸彈,什麼都不會發生,因為您設置的安全級別限制了任何程序可以生成的進程數量,只有Arch,Gentoo等發行版默認沒有這些限制。並且必須創建它們。

    這很有趣,因為我和Tete花了一天的時間對此話題大笑,許多安裝Arch的人只安裝了它並在上面放置了環境,卻忘記了許多其他非常重要的東西,這些東西是配置所必需的(或者至少他們是必要的是,事實是我不知道現在的情況),這就是為什麼有人說它“易於安裝”。

    無論如何,我認為用python炸彈來解釋它會更簡單一些,這更加明確。

    1.    埃利奧時間3000 他說:

      實際上,在安裝具有Arch和/或Gentoo的極簡風格的GNU / Linux發行版時,這些過程執行設置通常非常重要。

      順便說一句,我開始使用Arch的時候是要測試剛發布的程序和接口的版本。 無論如何,那枚叉子炸彈很有趣。

    2.    F3NIX 他說:

      是的,在python中更容易理解,如果有人感興趣,我可以將它們留在這裡:
      進口口
      而True:
      --- Os.fork()

      和遞歸:

      進口口
      def炸彈():
      --- Os.fork()
      - 炸彈()
      炸彈()

      Nano應該注意的是,在debian 7 Stable中,也沒有安全性,至少沒有python時,系統會立即掛起。

      問候。

    3.    O_Pixote_O 他說:

      好吧,我在Ubuntu中執行了一次fork炸彈,計算機立即崩潰了

  3.   Bi0sPo1n7 他說:

    要禁用泵,請使用以下命令限制終端中的過程:ulimit -u 50和禁用泵:p。

  4.   調製解調器 他說:

    無論如何,必須提到的是,當前的操作系統已經限制了它們可以激活的進程數量,這是在Fedora上發射分叉炸彈的問題,什麼也不會發生。

    1.    羅伯托 他說:

      毫無疑問,但是例如solaris和窗戶(這是我測試過的地方)都沒有受到保護。

  5.   朱諾爵士 他說:

    涼! 🙂

  6.   mj 他說:

    照著做; 但是這次使它有用,也就是說,在Windows上運行並了解發生的情況。 不在GNU / Linux上。
    我很好奇,它與計算機破壞事件的距離很近,我不知道Gnash播放器是否會出現這種情況:在Vimeo網站上,它可以完美地運行視頻,但是在YouTube上,它幾乎無法達到240像素的分辨率; 在我看來,在Dailymotions中,它不會重現一些我無法理解的東西,因為我不是程序員。
    如果這沒有改變,那麼對於自由軟件支持者來說,發布我們的視頻並分發給所有人而不受到歧視是一個不錯的主意。

    1.    埃利奧時間3000 他說:

      Gnash應該注意這一點,但是由於其發展緩慢,因此Mozilla選擇基於Java的Shumway製作自己的Flash播放器。 我希望Shumway即將推出,以便我可以替換GNU / Linux上的Flash Player。

  7.   x11泰特11x 他說:

    既然如此,僅僅說出如何保護自己是不夠的,一個非常基本的方法(特別是對於Noobs Archers而言)是限制進程的數量,為此,我們轉到/etc/security/limits.conf並添加以下行:

    *硬nproc 1000

    以此,我們將進程限制為該數量,例如,我將其設置為該數量(儘管整個OS處於全運行狀態,而運行的進程要少得多,大約為200-300個進程),並且當應用fork炸彈時,我的OS仍然可以正常運行而且很明顯,如果我們將進程數限制在非常低的水平,則可能會帶來其他後果,因為某些程序想要創建進程,而操作系統不允許,就我而言,它限制為1000個進程。適合我

    1.    ph 他說:

      我已經把它
      * soft nproc 500
      * hard nproc 1000

      儘管Arch Wiki建議軟為100,硬為200。

      儘管應該沒問題,但我恐怕要投炸彈進行測試... xD

  8.   馬丁 他說:

    屏蔽的最簡單方法是限制ulimits值,以便可以終止泵過程。

  9.   維達格努 他說:

    有趣的文章,為防止它在Slackware中使用,我們在/ etc / profile文件中使用ulimit

    1.    MSX 他說:

      限制ulimit的問題在於,它可能會根據您的操作來限制您對系統的使用。