Web Hacking CTF: Infosec Institute Level 2

Comenzamos con el segundo nivel con la siguiente pantalla, una simple calculadora. El reto, es poder ejecutar la función phpinfo(), quien nos dará la información sobre Apache y datos sobre versionado de PHP.

1

¿Que podemos saber a simple vista?

  • Existen dos operandos y un operador.
  • Existe una función de evaluación eval() que seguramente se esté ejecutando.
  • La función la ejecuta el operador, por lo que jugaremos con él.

Primer paso, debemos conocer como está estructurado el código del operador. Para ello, podemos utilizar Firebug, para poder inspeccionar de cerca la lista de selección.

2

Conociendo lo siguiente, podemos empezar a modificar ese código

<option value=”+>+</option>

Para poder obtener algo similar a esto

<option value=”+’); phpinfo();>+</option>

Obteniendo así, el resultado buscado

3

Ahora… ¿de donde sacamos ese código? Si consultamos la información concreta de OWASP, dice lo siguiente (este es el enlace por si quieren mas información):

De lado del servidor, una consulta eval() se reproduce de la siguiente manera:

 $ = "varname"; 
  $x = $_GET['arg']; 
  eval("\$myvar = \$x;")

Lo que yo hice, es cerrar las comillas para dar por finalizada la sentencia eval() y ejecutar luego (gracias al ; [punto y coma]) la función de phpinfo(). En mi caso, utilizo las comillas simples para cerrar la función, ya que sino interferiría con las comillas dobles del código HTML.

DynamicSec.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s