Sorry, this entry is only available in European Spanish. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Buenas de nuevo, vamos a terminar los retos básicos de https://atenea.ccn-cert.cni.es
Esto es la tercera parte, si queréis ver los anteriores:
Parte 1
Parte 2

Reto 13 – Variable

Enunciado:

Para superar este reto, deberás identificar, entre las siguientes declaraciones de variables, cuál de ellas tiene asociado un tipo de datos erróneo:

byte num = 44;
short med = 1223;
long lmax = 839492019487;
float mreal = 112.31f;
double rbig = 761132.4321;
boolean bbin = true;
int max = "1000";
char lett = 'A';

La solución al reto es el nombre de la variable (por ejemplo: vbar), en el formato de la plataforma.

Solución:

Cualquiera con unas nociones basicas de programación se dará cuenta de que a la variable max se le ha asignado una cadena en vez de un entero.
La solución por tanto es: max

Reto 14 – Variable 2

Enunciado:

Para superar este reto, deberás encontrar el equivalente en BASH, de la siguiente línea de código en BASIC:
PRINT “Atenea”​

Solución:

Conociendo un poco la notacion de bash resolveremos fácilmente este reto; se utiliza el comando echo para mostrar cadenas por pantalla:

echo "Atenea"

Reto 15 – Python

Enunciado:

Para superar este reto deberás obtener el valor de la variable result del siguiente script en python, que te dará el password que necesitas.

Solución:

Para obtener el valor de una variable en python y mostrarla por pantalla usamos print, asi que bastara con añadir al final del fichero la linea:

print result

Para esto vamos a usar un simple comando de bash, y ejecutamos el script:

echo "print result" >> script-6a21d37e6d6a4c87c06ba3ec40e28e0c.py
python script-6a21d37e6d6a4c87c06ba3ec40e28e0c.py

Reto 16 – C

Enunciado:

Para poder superar este reto deberás compilar y ejecutar el siguiente código en C.

Solución:

Ni si quiera hace falta compilar el programa, bastaría con ver el contenido de la variable que muestra por pantalla.
Pero el objetivo de este reto no es ese, así que vamos a compilar y ejecutarlo:

gcc pass-8fee4bb1bd3340423ecda42c36b5ba5a.c -o pass
./pass

Reto 17 – Java

Enunciado:

Para poder superar este reto deberás descompilar, es decir, obtener el código fuente, del siguiente programa compilado de Java, para obtener el valor de una variable en concreto.

Solución:

Para decompilar los .class de java podemos usar esta web: http://www.javadecompilers.com/
O hacerlo a mano desde la terminal

jad main-0be7342133d811710a0b94038f70e423.class

Buscando entre el código obtenido vemos rápidamente el contenido de la variable deseada: String ThisIsTheVariableYouAreLookingFor = “30853506b923083a”;

¿Me ayudas a compatirlo?