Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como pode derrapagens & Bugs cadeia de formato alterar o fluxo do programa do seu programa
? Estouros de buffer e bugs de string de formato são dois métodos a partir do qual os usuários podem ganhar controle sobre um programa. Normalmente encontrada em linguagens de baixo nível , como C ou C + + , ambos contam com a habilidade de um hacker para manipular a entrada do usuário para fazer um programa executar em outras do que se pretendia maneiras. Estouros de buffer contar com a falta de medidas de segurança em torno de entrada do usuário, enquanto que os erros da corda do formato ocorrer dentro da funcionalidade de entrada /saída real de uma linguagem de programação. A compreensão de como cada um trabalha requer uma compreensão de por que eles ocorrem no código. Saturação de buffer

Um estouro de buffer pode ocorrer durante a execução do programa quando uma estrutura de dados do buffer destinado a lidar com a entrada do usuário é dado muitos dados para manipular. Por exemplo, um programador pode declarar uma estrutura de array contendo personagens para tomar em dados de log -in do usuário. O programador pode escolher para limitar o tamanho da matriz de 25 caracteres . Se o programador não coloca quaisquer salvaguardas em vigor , o usuário pode entrar com uma quantidade arbitrária de dados como um nome de login . Quando o usuário faz isso , os personagens extras além de 25 invadido o espaço de memória da matriz e corromper os dados em locais de memória adjacentes. Isso é chamado de saturação de buffer.
Saturações de buffer e Segurança

Hackers podem tirar proveito de estouros de buffer para alterar o caminho de execução do programa. Se um hacker sabe como um programa funciona, então ela também sabe que tipos de dados estão perto da matriz de caracteres. Na programação C, variáveis ​​e referências de função são armazenadas na memória. Se uma variável ou função de referência reside perto da matriz , um pirata pode sobrecarregar a matriz de tal modo que a alteração do valor de uma variável , de modo que ela irá permitir fazer com credenciais falsas . O hacker também pode alterar a função para que ele executa o código malicioso , e permite que o hacker no sistema.
Formato Cordas

A " cadeia de formato " representa um argumento particular fornecido para funções de entrada e de saída em C. Por exemplo , o " printf () " função toma como seu primeiro argumento uma seqüência de formato que detalha como a saída deve ser para o usuário. Em seguida, a função printf () recebe uma lista variável de argumentos que representam dados de saída como formatado pela string de formato . Este exemplo a seguir detalha como uma seqüência de formato funciona em contexto, com uma seqüência de formato contendo um personagem de formato ( "% d" ), o que significa que um argumento inteiro irá substituir esse personagem na saída :

printf (" Este é a seqüência de formato , seguido por um número inteiro para imprimir % d " , 56) ;

Format Strings e segurança

questões de segurança da cadeia de formato ocorrer quando um usuário consegue entrada uma seqüência de formato que contém a formatação de caracteres não destinados pelo programador. Quando uma função printf ( ) é chamado, a seqüência de formato e os argumentos que se lhe segue são empurrados para a memória ea função "caminha " através da memória, substituindo todos os caracteres de formatação com os valores correspondentes em locais de memória . Se um hacker insere formatar caracteres em uma string, ela pode eventualmente ler os valores de dados localizados em qualquer lugar próximo na pilha - e se ela pode ler a pilha , ela sabe como e onde a alteração de dados e manipular a execução do programa
.

Anterior :

Próximo : No
  Os artigos relacionados
·Como reduzir MPI 
·Como converter Oracle para Expoente 
·O que são ferramentas de ETL 
·Substring Em CSH 
·T -SQL funções próprias 
·Tipos de arquivos que podem ser usados ​​com QBASIC 
·Como você inserir instruções de entrada em MATLAB 
·Como substituir Excluir no Rails 
·Funções de erro Fortran 
·Silverlight: Como vincular um bloco de texto para um Re…
  Artigos em destaque
·Definição de uma Exceção de baixo nível 
·Como usar Enum Programa em C 
·Como converter Código de Montagem para a Shell Opcode 
·Como usar ponteiros de função em um binário Pesquisa…
·Como ocultar um objeto no Visual C 
·Como verificar se uma figura existe em MATLAB 
·Como detectar Peak em MATLAB 
·String de conexão para o SQL Authentication 
·Definição do CPP Arquivo 
·Programação de Computadores em cartões de perfurador…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados