FORUM DARKERS

Tecnologia & Informática => Programação => C/C#/C++ => Topic started by: Dark_Side on 27 de January , 2007, 08:48:02 PM

Title: Evitando Buffer Overflow e outros erros
Post by: Dark_Side on 27 de January , 2007, 08:48:02 PM
Hi,

Quanto tempo não =) ?

Bem, depois de um bom tempo inativo, deu vontade de escrever algo.
Desta vez, irei abordar um assunto sério que envolve a escrita de programas em C/C++.

Apesar da versatilidade e do poder destas linguagens, elas apresentam muitos perigos que podem comprometer a segurança de um programa. Neste artigo, veremos alguns cuidados que devem ser tomados ao escrever nossos programas.

Segue o link:

http://three.fsphost.com/darkside/tutor ... erros.html (http://three.fsphost.com/darkside/tutoriais/c-cpp/evitando_erros.html)

Bye ;)
Title: Re: Evitando Buffer Overflow e outros erros
Post by: lcs on 27 de January , 2007, 09:31:34 PM
Achei bem interessante, e até eu que naum conseguia entender nada entendi pelo menos a ideaia do texto, mais me diz, quais os riscos de um buffer overflow, alem de travar  o progrqama que outros riscos ele acarreta..?
Title: Re: Evitando Buffer Overflow e outros erros
Post by: Anonymous on 27 de January , 2007, 09:47:12 PM
Perfeito o texto, exclente agora sim vamos entender melhor...Vlw  ;)
Title: Re: Evitando Buffer Overflow e outros erros
Post by: Dark_Side on 27 de January , 2007, 10:54:38 PM
Quote from: "lcs"Achei bem interessante, e até eu que naum conseguia entender nada entendi pelo menos a ideaia do texto, mais me diz, quais os riscos de um buffer overflow, alem de travar  o progrqama que outros riscos ele acarreta..?

Hi,

Geralmente, há duas coisas principais que podemos fazer quando constamos a vulnerabilidade:

1) Apenas provocar a sobrecarga do buffer para que o computador alvo encerre a execução do programa vulnerável. Seria um tipo de D.o.S (Denial of Service - Negação de serviço).

Um exemplo simples seria um servidor FTP escrito em C. Vamos supor que temos um buffer de 30 bytes para armazenar os comandos enviados pelo cliente. Se não tomarmos cuidados ao validar estes dados antes de armazená-los no buffer, teríamos sérios problemas. Por exemplo, um usuário poderia enviar 100 bytes como um comando e na tentativa de armazenar 70 bytes além da capacidade do buffer, o programa provocaria uma violação de acesso na memória, ocasionando na sua finalização. Uma vez finalizado , novos clientes não poderiam conectar-se a este servidor FTP.

2) Executar um código arbitrário no computador alvo. Como exemplo, poderia citar um exploit que, após provocar a sobrecarga de um buffer, faria com que um código malicioso - chamando shellcode - fosse executado realizando determinadas tarefas, como retornar uma shell para o usuário malicioso, entre outras.

Neste último caso, ao invés de enviar uma seqüência qualquer de caracteres, teríamos que enviar valores determinados para obter sucesso - o que não é necessário no primeiro caso.

É basicamente isso ;)
Bye.
Title: Re: Evitando Buffer Overflow e outros erros
Post by: lcs on 28 de January , 2007, 01:49:03 PM
mto bom, velew pela explicação, entendi agora o esse negocio de buffer overflow,,
Title: Re: Evitando Buffer Overflow e outros erros
Post by: whit3_sh4rk on 28 de January , 2007, 03:01:22 PM
[Dark_Side]
E aí cara.. que bom que deu as caras novamente!

Mto bom o texto, sobre o outro lá que tu tinha me mandado, ainda tenho q dar uma zuiada, aí te mando uma PM..

Valeu aí.. Some não..

[]s
Title: Re: Evitando Buffer Overflow e outros erros
Post by: Anonymous on 10 de February , 2007, 03:45:35 AM
Aew Dark_Side parabéns, ficou bem explicativo para leigos, agora quem nao entender o que sao overflows...
Só acho que mesmo sendo um tuto "Evitando Buffer Overflow" você poderia ter colocado 1 exemplo pelo menos de
um exploit que ganha-se uma shell em algum dos seus exemplos, só pro pessoar ver como funfa.
flw