Bash fork()Bomb:(){:|:&} ;:代码
时间:2020-01-09 10:43:55 来源:igfitidea点击:
您能解释以下bash代码或者bash fork()炸弹代码吗? :(){:|:&}; ::
分支炸弹是针对Linux或者基于Unix的系统的拒绝服务(DoS)攻击的一种形式。它利用了fork操作。 :(){:|:&} ;:
只是一个bash函数。该函数以递归方式执行。 sysadmin通常使用它来测试服务器上的用户进程限制。可以通过/etc/security/limits.conf
和PAM配置Linux进程限制,以避免bash fork()炸弹。一旦在系统中激活成功的前叉炸弹,就可能无法在不重新启动系统的情况下恢复正常操作,因为前叉炸弹的唯一解决方案是销毁它的所有实例。
数字128038表示您可以运行128038进程。
为了保护您的Linux系统免受炸弹袭击,您需要降低该数量。
要将会话限制为5000个进程,请使用以下命令
ulimit -S -u 5000
警告!请不要将ulimit数字设置得太低。
这将阻止您在系统上工作。
现在再次运行叉子炸弹:
:(){ :|:& };:
您将看到如下消息:
bash: fork: Resource temporarily unavailable bash: fork: Resource temporarily unavailable bash: fork: Resource temporarily unavailable bash: fork: Resource temporarily unavailable bash: fork: Resource temporarily unavailable bash: fork: Resource temporarily unavailable bash: fork: Resource temporarily unavailable
您只是避免在Linux上使用fork炸弹。
运行以下pgrep命令以查看当前线程限制:
pgrep -wcu $USER
输出示例:
5002