r500 – need a slave
Reverse me
Solução
Baixe o arquivo.
Verifique que tipo de arquivo se trata.
1 |
$ file cbae01eebf5ec7384dcf92507b640182 |
1 |
$ cbae01eebf5ec7384dcf92507b640182: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x2809a0eb366d3859f4e2fcc74a8bb49e00b2ddbf, not stripped2 |
Dê permissão de execução no arquivo.
1 |
$ chmod +x cbae01eebf5ec7384dcf92507b640182 |
Executando o arquivo obtemos a seguinte saída como na imagem abaixo.
Instale o hte.
1 |
$ apt-get install ht -y |
Depois carregue o binário no hte.
1 |
$ hte cbae01eebf5ec7384dcf92507b640182 |
Depois de carregado pressione “espaço” e selecione o modo “elf/image”
Próximo passo é achar a função palindrome . Pressione F5 para abrir o goto e pesquise pelo “palindrome″.
Selecione “xref c8048c6a” dentro da “palindrome” e pressione enter.
Podemos observar uma chamada “fibonacci”. CTRL + C para sair do hte.
Carregue o binário no gdb.
1 |
$ gdb cbae01eebf5ec7384dcf92507b640182 |
Realize um break point.
1 |
(gdb) break * 0x8048c8d |
Execute o binário dentro do gdb.
1 |
(gdb) run |
Realize um dump da memória.
1 |
(gdb)x/98xc &hidden |
Imprima o resultado.
1 |
(gdb)print(char*)(0x804a2c0+39) |
Flag
IfIW!nY0uB3com3MySl@ve
Criado por
XShellCTF
Extra
Recent Posts
© 2014 - Todos os Direitos Reservados