O que este comando: () {: |: &} ;: faz? [duplicado]

3

O que esse comando shell faz no Linux

:(){ :|: & };:

Como ele pode ser usado em ataques de negação de serviço?

    
por manav m-n 29.07.2013 / 20:44

1 resposta

5

É uma bomba de garfo. Eu realmente tenho isso escrito no meu quadro branco (como uma piada) enquanto falo. Não corra.

:()         # define a function named :, () defines a function in bash
{           
    : | :;  # the pipe needs two instances of this function, which forks two shells
}
;           # end function definition
:           # run it

Então, a primeira execução faz 2 sub-unidades, que então executam mais 2 sub-unidades ...

: é um comando incorporado no bash. É uma espécie de comando "nulo" no-op. Costumava ser o caractere de comentário, antes havia um caractere de comentário. Agora, ele tem um pequeno uso como no-op, mas realmente usado aqui porque é mais enigmático, você olha para :() e pensa que WTH é isso?

    
por 29.07.2013 / 20:58