Onde posso encontrar uma demonstração de estouro de buffer?

1

Existe um site ou existe uma maneira simples de configurar um, o que demonstra o que pode acontecer com a saturação do buffer? Isso está no contexto de um aplicativo da Web.

(Eu já perguntei isso, por sinal, no ServerFault, caso você ache que seria melhor perguntar lá)

    
por bugmagnet 20.05.2010 / 07:21

1 resposta

2

Estouros de buffer de pilha e heap são essencialmente causados pela gravação de muitos dados em uma região de memória que é muito pequena para conter todos os dados - fazendo com que os dados sejam gravados além da extensão da alocação. logicamente na memória. No caso de um estouro de pilha, isso pode ser um endereço de retorno para a função e, no caso de um estouro de heap, pode incluir ponteiros de função virtual de outros objetos C ++ no heap. Em ambos os casos, um invasor pode usar a vulnerabilidade para assumir o controle do processo quando a função substituída é retornada ou o objeto de pilha sobrescrito é usado.

WebApplications escritos em PHP, C #, VB, VB.NET, ASP.NET, Ruby-on-rails, javascript do lado do servidor e JSP são aplicativos gerenciados e não são aceitáveis para vulnerabilidades de corrupção de memória, como estouro de buffer de pilha ou sobrecargas de buffer de heap causadas por código de aplicativo da web inválido. Os estouros de buffer tendem a ser a preservação de aplicativos C / C ++, embora outras linguagens "nativas" menos comuns, como Dephi e Fortran, também sejam suscetíveis.

Se você é um desenvolvedor da Web, a classe mais importante de vulnerabilidades que você precisa observar são injeções SQL e problemas causados por gravações de arquivos include / eval / inapropriadas no código do servidor que podem permitir uma string ou arquivo passado por um usuário para eventualmente ser tratado como código no servidor. Infelizmente para os desenvolvedores da Web, esses tipos de ataques tendem a ser muito mais eficazes e muito mais fáceis de fazer do que os ataques de estouro de buffer no código nativo e, consequentemente, o impacto de não entender totalmente a segurança como um desenvolvedor da Web pode ser muito mais doloroso do que não entender a segurança como um desenvolvedor nativo.

    
por 05.03.2012 / 23:04