Ir ao conteúdo

Gimael

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Tudo que Gimael postou

  1. A injeção de código é possível em linguagens que interpretam e/ou compilam o código. Nativamente a linguagem C não faz isso - quer dizer, não há uma função eval em C, como há em linguagens de scripting, que pode receber código, compilá-lo, e depois executá-lo. Escrever um programa que faça isso não é muito difícil, no entanto - pesquise pela função dlopen, por exemplo. O problema surge quando você cria um programa que deve receber, compilar e executar código fonte de terceiros - porque isso te deixa sujeito a injeção de código. Já existem alguns sites em que você pode programar sem precisar fazer o setup no seu computador. Estes sites, com certeza, têm de fazer algum tipo de sanitização no código fonte que recebem, a fim de que não sejam invadidos de alguma forma pelos programas que recebem. Um exemplo clássico é que provavelmente estes sites não permitem que você use as funções system e popen. Outra questão com a qual eles provavelmente têm de lidar é com a função fork, que cria um novo processo ao duplicar o processo que a chama. Seria fácil realizar um ataque DoS em um site desses ao criar uma fork bomb. Em todo caso, injeção de código não é uma preocupação com a qual programadores C normalmente se preocupam. É uma questão bastante complexa, e eu pessoalmente não acredito que os caracteres presentes no código fonte recebido sejam a maior preocupação, tanto quanto que funções estão sendo chamadas. O uso de macros, por exemplo, pode tentar obscurecer que funções vão ser chamadas no final das contas - de forma que o código provavelmente deveria ser analisado depois de passar pelo pré-processador, para garantir que alguma macro "mágica" não consiga driblar um possível filtro que analise o código fonte recebido.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...