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?