Wargame – Leviathan – Level 6

De posse da senha do usuário leviathan6 fazemos o login no servidor leviathan.labs.overthewire.org e procuramos por arquivos:

Vamos testar o executável leviathan6:

Informando um código de 4 dígitos:

Depurando:

O que será que a função atoi faz? Pesquisando: http://linux.die.net/man/3/atoi

atoi converte uma string em um inteiro.

Como não consegui resolver sozinho o problema, pesquisei e encontrei duas formas de passar esse nível: força bruta ou usar um depurador. Como a ideia é aprender, vamos pelo caminho mais complicado.

Para isso vamos usar o depurador gdb:

Iremos transformar o código em assembler:

O que nos importa é a seguinte linha:

Nela o programa faz uma comparação dos registradores esp e eax. Vamos colocar um breakpoint no programa bem na hora da comparação:

E então executamos o programa passando como código 0000:

Agora vamos ver o que temos no registrado esp:

Pronto, o código que é comparado ao código informado será exibido. Depois é só executar o programa com o código correto.

Referências

http://cplusperks.com/leviathan/#level6

http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html


Comments

Deixe uma resposta

Your email address will not be published / Required fields are marked *