Skip to content

Latest commit

 

History

History

stack-cache

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

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.