Descripción

Go to http://80.211.141.199:61783/ and try to get the flag.

Write-Up

Nos proporcionan una dirección IP y al acceder no obtenemos nada más que un simple «Forbidden».

Respuesta HTTP

Curiosamente obtenemos un código HTTP 200, por lo que podría ser una petición correcta. Revisando el código fuente no encontramos nada por lo que pasamos a comprobar las cabeceras de la petición.

Cookie: firewall=dHJ1ZQ%3D%3D

El valor de esa cookie tiene un formato conocido, la codificación (%3D) corresponde al caracter igual (=) y, viéndolo todo en texto plano, nos puede dar una idea de cómo se ha formado por su terminación.

En efecto, se trata de Base64, veamos qué contiene:

$ echo 'dHJ1ZQ==' | base64 -d
true

Tras descubrir que se trata de un valor booleano, sobre una cookie llamada «firewall», lo más lógico será intentar establecer su valor opuesto.

$  echo 'false' | base64
ZmFsc2U=

Aquí podemos solucionarlo de varias formas:

  • Interceptar la petición con el proxy de Burp Suite y reenviarla con el nuevo valor de la cookie.
  • Con el navegador Mozilla Firefox, podemos editar las peticiones y volver a enviarlas desde la información de red (F12).
  • Cualquier plugin de navegador que permita modificar las cookies.
Almost, you haven't come from Hackiit's twitter…

Ya casi lo tenemos, necesitamos hacerle creer a la página que nuestro origen es nuestro twitter. También podemos hacerlo editando la petición y añadiendo la cabecera «Referer» desde el navegador (Firefox), los pasos para ello serían: abrir consola de red (F12), seleccionar la petición, editar y volver a enviar.

Referer modificado

Y…. por fin obtenemos la flag:

Congrats!!! hackiit_flag{w3bH4ck1ng1s4w3s0m3}

Solución rápida en una línea con curl:

$ curl http://80.211.141.199:61783 --cookie "firewall=ZmFsc2U%3d" --referer https://twitter.com/hackiit_ugr -A "Hackiit"

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *