•
Wargame leviathan: nivel 4
En este nivel volvemos a tener que ver como encontrar la cadena con la que comparamos un string d’entrada:
Primero ejecutamos el binario del nivel para ver que ocurre:
level4@leviathan:~$ /wargame/level4 Enter the password> aaa bzzzzzzzzap. WRONG
A continuación con ltrace vemos que el binario cuando el password es incorrecto:
level4@leviathan:~$ ltrace /wargame/level4 __libc_start_main(0x8048523, 1, 0xbffffae4, 0x8048650, 0x8048600 <unfinished ...> strcmp("h0no33", "kakaka") = -1 printf("Enter the password> ") = 20 fgets(Enter the password> aaa "aaa\n", 256, 0xb7fe1300) = 0xbffff8fd strcmp("aaa\n", "snlprintf\n") = -1 puts("bzzzzzzzzap. WRONG"bzzzzzzzzap. WRONG ) = 19 +++ exited (status 0) +++
La parte interesante es:
strcmp("aaa\n", "snlprintf\n")
Así la contraseña esta un poco más disimulada si usamos el comando strings, pero con ltrace dicha ofuscación no sirve de nada:
level4@leviathan:~$ /wargame/level4 Enter the password> snlprintf [You've got shell]! sh-3.1$ cat /home/level5/.passwd Dx08I4vD
Otros niveles de este wargame:
- leviathan: nivel 1
- leviathan: nivel 2
- leviathan: nivel 3
- leviathan: nivel 4
- leviathan: nivel 5
- leviathan: nivel 6
- leviathan: nivel 7
Deja un comentario: