Ponto do ponto-e-vírgula neste ataque do shellshock

4

Eu estava analisando um ataque de shellshock e não entendi este trecho de código:

curl -v http://localhost/cgi-bin/shellshock.cgi -H "custom:() { ignored; }; echo Content-Type: text/html; echo ; /bin/cat /etc/passwd "

A parte que eu não entendo é a função do echo ; no comando realmente executado na máquina remota entre ecoar o Content-Type e / bin / cat no / etc / passwd.

Qual é a função de echo ; aqui?

Obrigado.

    
por the dude abides 20.01.2018 / 01:54

1 resposta

5

É assim que o HTTP é construído. Tem que haver uma linha vazia após o cabeçalho HTTP. Isso é o que o echo solitário produz.

Compare estes dois:

echo Content-Type: text/html; echo ; /bin/cat /etc/passwd

e:

echo Content-Type: text/html; /bin/cat /etc/passwd

Agora, deve ser óbvio como para echo ; . (O ponto-e-vírgula separa os comandos, é claro).

    
por 20.01.2018 / 02:14