Welcome
Puntuación: 1
El enunciado de este reto indica lo siguiente:
Welcome to Fwhibbit CTF!
Mirrors: http://167.172.187.39:8000
Accedemos al portal indicado y vemos una pantalla como la siguiente:
Si pinchamos en el botón “View source code” nos muestra el código utilizado por la aplicación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<!DOCTYPE HTML> <?php require("flag.php"); if (isset($_GET['source'])) { highlight_file(__FILE__); die(); } if (isset($_GET['hole'])) { $rabbit = $_GET['hole']; $boomer = 'boomerrabbit'; $holly = preg_replace( "/$boomer/", '', $rabbit); if ($holly === $boomer) { welcome(); } } ?> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome to Fwhibbit MiniCTF Quarantine Edition 2020</h1> <p>Try to reach <code>welcome()</code></p> <a target="_blank" href="?source">View source code</a> </body> </html> |
Tras analizar el código fuente, vemos que tenemos que pasar a la variable GET “hole” algo para que despúes de eliminar “boomerrabit” el resultado sea “boomerrabit”.
Le pasamos entonces el siguiente código para saltarnos la comprobación:
1 |
?hole=boomerrboomerrabbitabbit |
Y tenemos la flag:
1 |
flag{welcome_b00mer_to_rabbit_hutch!} |
Puedes ver el resto de writeups en este enlace.
Podrías explicar paso a paso?
Hola dest92,
La verdad es que este reto es muy sencillo, y no se pueden dar muchas más indicaciones al respecto de como hacer el reto.
Te recomendaría que te leyeses la documentación de php de la función preg_replace en el siguiente enlace https://www.php.net/manual/es/function.preg-replace.php
Y también que probases el código para ver su comportamiento, si prefieres no montarlo en un entorno local, tienes webs donde pues ejecutar código sin necesidad de tener que montar nada como por ejemplo esta http://sandbox.onlinephpfunctions.com/
Saludos
Gracias por responder, lamentablemente lo leo tarde. A qué te refieres con le pasamos el siguiente código?
Hola,
Me refiero a que lo ejecutes con dicho código.
Gracias a ti!