Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Tipos de erros cadeia de formato
vulnerabilidades de software constantemente assombrar programadores e desenvolvedores . A seqüência de bug formato é um tal vulnerabilidade , e pode falhar programas ou executar código malicioso. O problema com o formato de seqüência de entrada do usuário gira em torno desmarcada. O comando de impressão em C pode ser um exemplo desse bug . A " printf () " é uma entrada do usuário sem controle que permite a impressão a partir de locais remotos. Usado sozinho , este comando dá hackers oportunidades para seqüestrar código para os seus fins . Descrição

Os desenvolvedores usam a família código printf para formatação de strings ou controle de saída de dados. A família código printf inclui comandos como fprintf , vprintf e sprintf , que dados formato, mas escrever para locais diferentes. Erros cadeia de formato ocorrer quando os desenvolvedores esquecem de colocar restrições necessárias sobre a família código printf . Hackers podem então entrar no seu próprio código através desses códigos livres de restrição, ou lacunas, e sequestrar o código. O resultado , de acordo com os autores de " O Manual Shellcoders , " é que o seqüestrador pode, então, ser capaz de ver as informações privadas e executar código arbitrário.

Tokens Formato
Corrigindo erros

cadeia de formato pode ser indolor , eo desenvolvedor de software só precisa adicionar um símbolo de formato , como "% s" ou "% x". Por exemplo , o desenvolvedor pode entrar " printf (" % s ", de entrada) " na linha de comando .

O token formato restringe entrada de formato e impede que os hackers executar códigos nocivos via lacunas presentes no código de origem. Erros cadeia de formato geralmente ocorrem quando os programadores desenvolver código para grandes programas. Durante o desenvolvimento do código , os programadores podem concentrar-se na grande figura, e, portanto, têm vista para a cadeia de formato . A cadeia de formato desmarcada então age como uma janela de oportunidade que o invasor pode usar para manipular o código.
Buffer overflows

seqüências de formato também pode criar tampão problemas de estouro . Quando um programa derrapagens o limite de buffer durante a gravação de dados, buffer overflow ocorre, eo programa pode sobrescrever a memória adjacente. Esta é uma ameaça significativa em termos de segurança de memória de um programa. Problemas de estouro de buffer são frequentemente associados com as linguagens C e C + +. Os programadores devem certificar-se de verificar os limites de buffer para combater anomalias de estouro de buffer . Quando não existe um formato especificado para uma função de tempo de execução C , qualquer código arbitrário pode ser executado através da brecha especificado. Desde que o código pode não saber os limites do buffer, que pode causar um estouro de buffer, e substituir a memória .
Minimizar os riscos

Você pode evitar erros de string de formato de seguindo algumas regras básicas de programação. Para minimizar a ocorrência de erros de cordas formantes , instalar apenas os utilitários que você precisa, e só permitir o acesso a esses utilitários para aqueles em seu grupo mais confiável, de acordo com os autores de " hack Proofing sua rede . " Lembre-se sempre de especificar um formato de cadeia para uma declaração " printf" . Se houver seqüências de formato personalizado no código, ter um cuidado especial quando se escreve privilégios dessas seqüências de formato de auto- definido.

Anterior :

Próximo : No
  Os artigos relacionados
·Como fazer o download e loja de mídia com o iPhone SDK…
·Substrings comuns em C 
·Por que não posso ver minha Xcode iPhone 
·Como mudar o nome do botão Declínio no iPhone 
·String de conexão para o SQL Authentication 
·Como converter CPP a DLL 
·Como obter um protótipo funcional de DLL 
·Como salvar dados no XCode para o iPhone 
·Objetivo de Métodos CString 
·Base de SDK xCode Faltando 
  Artigos em destaque
·Funções Iomanip 
·Como usar LINQ em WPF 
·Como escrever um programa C + + computador que calcula …
·O que é WinAC & Kernel Mode 
·Como remover SQLite em C 
·Como editar o Silverlight Datagrid 
·Apue.H não encontrado no Ubuntu 
·Substrings comuns em C 
·Malloc Função 
·O que é um cabeçalho Ctype 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados