Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
C + + funções que causam buffer overflows
Ao contrário de outras linguagens , C e C + + não verificar o tamanho da entrada antes de escrevê-lo em um buffer . Se a entrada é maior que o espaço alocado no tampão , a entrada é escrita sobre outros dados na pilha do programa . Além de causar o seu programa para se comportar de forma irregular , estouros de buffer pode permitir que um invasor travar o seu programa , ter acesso a dados privados ou até mesmo assumir o controle de uma máquina. Evitar funções inseguras C + + é um dos passos para a prevenção de estouros de buffer em seu programa. Funções String

funções inseguras que lidam com cordas incluem strcpy () , strcat () , sprintf ( ) , vsprintf () e gets () . Estas funções executam operações em variáveis ​​de cadeia , armazenadas como matrizes de caracteres em C + + . As funções de ler uma string de uma fonte - como a entrada do usuário - cópia , ou concatenar uma string para formar uma nova cadeia. Se você não verificar o tamanho da nova cadeia antes de escrevê-lo na memória, ele pode causar um estouro de buffer.

Digitalização Funções

funções de digitalização de arquivos inseguros incluem scanf ( ) , fscanf ( ) , sscanf ( ) , vscanf ( ) vsscanf ( ) e vfscanf ( ) . As funções de digitalização ler dados de entrada do usuário, um arquivo ou de outras fontes e gravá-lo em uma string formatada . Se os dados digitalizados é maior que o espaço alocado para a seqüência formatador , um buffer overflow irá ocorrer.
Funções Microsoft

funções inseguras em bibliotecas Microsoft incluem wcscpy ( ) , _tcscpy ( ) , _mbscpy ( ) , wcscat ( ) , _tcscat ( ) , _mbscat ( ) e CopyMemory ( ) . Estas funções são principalmente copiar e concatenar as funções que usam objetos específicos da Microsoft , em vez de cordas ou dados de arquivo.
Outras funções

Outras funções inseguras C + + incluem realpath () , getopt () , getpass () , streadd () , strecpy () e strtrns ().

Anterior :

Próximo : No
  Os artigos relacionados
·Como se um deslocamento de Cordas em um arquivo no CPP 
·Objetivo de Métodos CString 
·Como controlar Stepper Motors Usando Dev- C + + 
·Como fazer um fatorial em CPP 
·Como obter um ponteiro para um Bitmap em C + + 
·Como detectar o golpe do Mic no xCode 
·Como fazer uma raiz quadrada em C + + 
·Como formatar números de Fibonacci em C + + 
·Como converter LPSTR para INT 
·Como ler números de arquivos no C 
  Artigos em destaque
·Diferença entre fgetc e getc 
·Como começar um argumento de entrada ARGV em C + + 
·Como substituir funções no Dev C + + 
·O que desvantagens há em desreferenciação implícita…
·Como renomear NIB para XIB no Xcode 
·Como usar CoffeeCup StyleSheet Maker 
·Como ler números de arquivos no C 
·Como usar LINQ em WPF 
·Como mover um objeto com Arrastar no XCode 
·O que é uma interface CPP 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados