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.
Acho que todos já devem estar "carecas de saber" o conceito de local e remoto. Então não vou fazer essa definição óbvia :)
Fatos relevantes a respeito de falhas locais:
Muitas pessoas do underground dizem que quando você consegue uma shell (conta local) o servidor já é seu, só precisa de mais alguns ajustes. Mas como assim já e meu?
Resp: Ler tópico a seguir...
Reflexão sobre escalação de privilégios
O ano passado foi um ano repleto de quebras de conceitos, e para termos idéia disso até o conceito dos inquebráveis servidores BSD`s e suas "jaulas" ou "gaiolas" foram quebrados e estão sendo re-analizados. Estimo que atualmente exista a ordem de duas ou três vezes mais falhas em conhecimento privado que em mãos do público geral que administra servidores Unix Like, ou seja, não existe nunca um servidor 100% seguro.
Mas parando um pouco dessa viagem e voltando pro artigo, se você tem uma conta local basta ficar atento em sites de segurança, ler advisories e ir a luta. Enquanto escrevo esse texto existe uma falha no design do kernel que afeta até as versões 2.4.25 (não remendadas é claro).
Escalação de privilégios é o que o próprio nome sugere, ir escalando privilégios até chegar ao topo - até chegar ao ROOT.
Mas a primeira parte do artigo fica por aqui, já a segunda parte abordará a exploração de falhas locais.
[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. :)