De uns tempos para cá comecei a notar que mais gente está programando e conseqüentemente mais gente está entrando no mercado de trabalho precocemente. Estão iniciando sua viagem pelo maravilhoso mundo do desenvolvimento web muito inocentemente, no entanto não sabem eles - os desenvolvedores newbies ou negligentes - que existem usuários maliciosos olho no seu sistema.
Os ataques que causam Buffer Overflow por exemplo, tiram vantagem de um erro de projeto específico e relativamente comum em softwares. Muitos programas relacionados a rede não testam corretamente o tamanho do buffer utilizado escrevendo dados na memória que estava, originalmente, reservada para outro fim (instruções ou códigos executáveis, por exemplo). Uma mensagem de estrutura aparentemente irregular bem construída pode colocar códigos arbitrários e maliciosos na memória e, com alguma *sorte, fazer com que a CPU os execute.
Explorar a superlotação de buffers requer um conhecimento detalhado da arquitetura da plataforma e do mapa de memória das aplicações, porém quando o assunto é injeção de códigos em PHP esbarramos em um problema sério: a facilidade da programação permite que pessoas despreparadas criem sistemas que utilizam SQL (Uma variação de código arbitrário é o SQL injection), que utilize dados passados pelo usuário para fazer uma chamada de sistema etc. Então como vocês podem ver, o tratamento de dados de forma mal feita possibilita uma infinidade de ataques e logo abaixo veremos alguns mais conhecidos.
[1] Comentário enviado por gustavo_marcon em 07/04/2004 - 19:19h
Cara, muito legal mesmo teu artigo, só achei que vc poderia ter dado uns toques de comandos que podem ser usados pra evitar por exemplo o SQL Injection, mas no mais, tá 10 mesmo. Parabéns.
[2] Comentário enviado por Ragen em 08/04/2004 - 00:31h
Olá Gustavo,
Note que logo abaixo de "O que é SQL injection" tem o que você quer "Escapando Strings", nessa parte é abordado como evitar os bendidos códigos maliciosos...
Só queria fazer mais um pequeno comentário:
Na parte onde eu falo sobre netcat eu fiz algumas pequenas mudanças desde a data de publicação do arquivo, por que eu deixo o assunto muito vago e sem nenhum exemplo concreto do seu uso....
[3] Comentário enviado por fabio em 11/04/2004 - 14:39h
Putz, acabou que com uma dica sua resolvi de forma trivial um problema que tinha no sistema de busca interno do site. Por exemplo, se você digitasse "sites celular" nada era encontrado. Daí mandei o sistema substituir espaços por %, agora buscas com palavras compostas funcionam. :)