Skip to content

Latest commit

 

History

History
23 lines (12 loc) · 1.12 KB

README.md

File metadata and controls

23 lines (12 loc) · 1.12 KB

Stack buffer overflow normal:

Há duas funções interessantes, win() e UnderConstruction().

A primeira carrega a flag na memória com fgets(), mas não printa.

A segunda usa printf() para printar algumas informações de variáveis vazias, usando format string.

Após controlar o EIP e apontar o programa para a função UnderConstruction(), são printadas várias informações em hexadecimal, presumivelmente conteúdo vazado da stack.

Sobrescrevendo o endereço de retorno novamente com o endereço da função UnderConstruction(), é possível chamá-la mais uma vez, e novos dados são vazados.

Sabendo disso, fiz um exploit simples para entrar na função win() (e então carregar a flag na memória), entrar na função UnderConstruction() algumas vezes para vazar o conteúdo da memória e então parsear o conteúdo e retornar a flag.