sábado, 27 de febrero de 2016

EquationSolver - InternetWache CTF 2016 [writeup]

La semana pasada participé junto a mis compañeros del Team Amn3s1a en el InternetWache CTF 2016. De los retos que logré completar el que más me gustó fue EquationSolver. Este reto pertenecía a la categoría de "exploiting". Yo suelo pasar de los retos de exploiting porque no son mi "especialidad": definitivamente hay mejores "exploiters" en el Team que yo. Sin embargo, este reto no era un típico reto de exploiting. Para resolverlo no fueron necesarios debuggers, desensambladores ni shellcodes sino un ingenioso artificio de aritmética booleana.

Sin más, los dejo con el link del writeup:

http://www.amn3s1a.com/blog/writeup/2016/02/22/equationsolver-iw-writeup.html

Un saludo.

3 comentarios:

  1. Y porque desplazar 3?

    ResponderEliminar
    Respuestas
    1. En aritmetica booleana un desplazamiento a la izquierda de una posición equivale a multiplicar por 2. En general, en una base B un desplazamiento a la izquierda equivale a multiplicar por la base B. Por ejemplo: En base 10, 2<<1 = 20 <==> 2 * 10 = 20.
      Luego, un desplazamiento de 3 posiciones (en base 2) equivale a multiplicar 3 veces por 2. Es decir: 2*2*2 = 2³ = 8

      Un saludo.

      Eliminar