Pular para o conteúdo

Redes

Heartbleed, diga 3 e leia 500

Em 2014, o Heartbleed (CVE-2014-0160) deixou servidores do mundo inteiro vazando a própria memória, um pedaço por vez. A falha estava no "heartbeat" do TLS, uma mensagem de "você ainda está aí?" em que o cliente manda um texto e o servidor devolve o mesmo texto. O cliente informava DOIS valores: o texto e o tamanho dele. O OpenSSL vulnerável acreditava no tamanho informado em vez de medir o texto que chegou. Então o cliente podia mandar 3 bytes e dizer que eram 500, e o servidor devolvia 500 bytes: os 3 reais mais 497 bytes de memória que estavam ao lado, incluindo segredos de outros usuários.

Você tem heartbeat-request.txt (o pedido, que diz 500 mas envia "cat"), server-memory.txt (a memória do servidor ao redor do buffer) e heartbeat-response.txt (os 500 bytes que o servidor devolveu). Leia a resposta e ache o token de sessão que vazou, o valor que aparece logo depois de session=.

Responda no formato de flag com esse token, por exemplo tocaia{0000deadbeef} (que não é a resposta).

Arquivos do desafio

  • heartbeat-request.txt

    493 B · SHA-256 910ea3f20b103ae0…

    Baixar
  • server-memory.txt

    5,4 KB · SHA-256 2b001710c8f2c0eb…

    Baixar
  • heartbeat-response.txt

    2,6 KB · SHA-256 015ee22e2efcf9ef…

    Baixar

Tudo se resolve com ferramentas gratuitas.