{"id":6783,"date":"2026-02-16T14:33:10","date_gmt":"2026-02-16T13:33:10","guid":{"rendered":"https:\/\/workboot.fr\/ciela\/?page_id=6783"},"modified":"2026-02-16T14:49:25","modified_gmt":"2026-02-16T13:49:25","slug":"forkbomb","status":"publish","type":"page","link":"https:\/\/workboot.fr\/ciela\/forkbomb\/","title":{"rendered":"forkbomb"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">1. Limitation des processus par utilisateur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dans&nbsp;<code>\/etc\/security\/limits.conf<\/code>&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>username soft nproc 100\nusername hard nproc 200<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">v\u00e9rifier vos limites<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ulimit -a  # Affiche toutes les limites\nulimit -u  # Limite de processus par utilisateur<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e9glage \u00e0 la vol\u00e9e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ulimit -u 500  # Limite \u00e0 500 processus<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple en C (\u00e0 ne PAS ex\u00e9cuter) :<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &lt;unistd.h>\n\nint main() {\n    while(1)\n        fork();\n    return 0;\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Version minimale (la plus connue)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>:(){ :|:&amp; };:<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Version plus lisible avec un nom de fonction explicite<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>forkbomb() { forkbomb | forkbomb &amp; }; forkbomb<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Version avec while<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>bomb() { while true; do bomb | bomb &amp; done }; bomb<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Comment \u00e7a marche ?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9composition de :(){ :|:&amp; };:<\/li>\n\n\n\n<li><\/li>\n\n\n\n<li>Partie Explication<\/li>\n\n\n\n<li><\/li>\n\n\n\n<li>:() D\u00e9finit une fonction nomm\u00e9e \u00ab\u00a0:\u00a0\u00bb<\/li>\n\n\n\n<li>{ D\u00e9but du corps de la fonction<\/li>\n\n\n\n<li>:|: La fonction s&rsquo;appelle elle-m\u00eame (:) ET envoie sa sortie (|) \u00e0 une autre instance d&rsquo;elle-m\u00eame (:)<\/li>\n\n\n\n<li>&amp; Met le processus en arri\u00e8re-plan (background)<\/li>\n\n\n\n<li>} Fin du corps de la fonction<\/li>\n\n\n\n<li>; S\u00e9parateur de commandes<\/li>\n\n\n\n<li>: Ex\u00e9cute la fonction (d\u00e9clenche la bombe)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Comment se prot\u00e9ger avant de tester<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Limiter les processus utilisateur<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># V\u00e9rifier la limite actuelle\nulimit -u\n\n# R\u00e9duire la limite (ex: 100 processus max)\nulimit -u 100\n\n# Rendre la limite permanente (dans .bashrc)\necho \"ulimit -u 100\" >> ~\/.bashrc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Limitation des processus par utilisateur Dans&nbsp;\/etc\/security\/limits.conf&nbsp;: v\u00e9rifier vos limites R\u00e9glage \u00e0 la vol\u00e9e Exemple en C (\u00e0 ne PAS ex\u00e9cuter) : Version minimale (la plus connue) Version plus lisible avec un nom de fonction explicite Version avec while Comment \u00e7a marche ? Comment se prot\u00e9ger avant de tester 1. Limiter les processus utilisateur<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-6783","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/workboot.fr\/ciela\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"1. Limitation des processus par utilisateur Dans&nbsp;\/etc\/security\/limits.conf&nbsp;: v\u00e9rifier vos limites R\u00e9glage \u00e0 la vol\u00e9e Exemple en C (\u00e0 ne PAS ex\u00e9cuter) : Version minimale (la plus connue) Version plus lisible avec un nom de fonction explicite Version avec while Comment \u00e7a marche ? Comment se prot\u00e9ger avant de tester 1. Limiter les processus utilisateur","_links":{"self":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/6783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/comments?post=6783"}],"version-history":[{"count":7,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/6783\/revisions"}],"predecessor-version":[{"id":6797,"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/pages\/6783\/revisions\/6797"}],"wp:attachment":[{"href":"https:\/\/workboot.fr\/ciela\/wp-json\/wp\/v2\/media?parent=6783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}