Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: Uxio en 9 Febrero 2009, 14:11 pm



Título: SQL injection.
Publicado por: Uxio en 9 Febrero 2009, 14:11 pm
Hice una apuesta con un colega y su server, y con nikto2 he llegado a ver que tiene la carpeta phpmyadmin.

He entrado a la carpeta, probado con SQL básico de todo, y poniendo simplemente 'root y dejando la contraseña en blanco he entrado al panel de Control de SQL, donde veo esto:

(http://img13.imageshack.us/img13/1903/sqlrf5.jpg) (http://imageshack.us)
(http://img13.imageshack.us/img13/sqlrf5.jpg/1/w1386.png) (http://g.imageshack.us/img13/sqlrf5.jpg/1/)

Tengo privilegios de lectura, pero no de escritura. No encuentro ninguna columna con usuarios ni nada.

El único usuario que hay es root, pero despues de estar un buen rato probando no logro sacar ninguna información en claro.

¿Alguien sabe por dónde puedo tirar?

Muchas gracias


Título: Re: SQL injection.
Publicado por: Azielito en 9 Febrero 2009, 18:10 pm
creo recordar que phpMyadmin tenia algun bug de RFI o RCE :¬¬


Tambien podrias hacer una shell con ese phpMyadmin :D


Título: Re: SQL injection.
Publicado por: Uxio en 9 Febrero 2009, 20:42 pm
creo recordar que phpMyadmin tenia algun bug de RFI o RCE :¬¬


Tambien podrias hacer una shell con ese phpMyadmin :D

Muchas gracias por la respuesta Azielito, el problema es que aunque entro al panel sólo tengo privilegios de lectura, no soy capaz de subir archivos.

Es bastante raro esto, porque entro al panel de administración de myphpadmin, donde puedo realizar consultas SQL y veo las diferentes columnas. Además me extraña que no tenga un apartado users donde guarda los usuarios y las pass...

uf, qué raro


Título: Re: SQL injection.
Publicado por: Azielito en 9 Febrero 2009, 21:14 pm
lo de la shell me referia a que la hagas con un

Código
  1. ***** INTO OUTEFILE

:D

prueba a meterlo en /tmp, y busca a un bug de LFI del phpMyadmin :D


Título: Re: SQL injection.
Publicado por: ChElAnO en 9 Febrero 2009, 21:54 pm
hola,

el mejor vector es intentar crear un archivo php desde una consulta sql, tal como te aconseja Azielito. Para esto debes saber si el usuario root tiene el permiso FILE.

Otra cosa interesante es utilizar load_file(), para poder ver archivos de configuración como config.php y porque no /etc/passwd para enumerar usuarios.

saludos,



Título: Re: SQL injection.
Publicado por: Uxio en 9 Febrero 2009, 23:08 pm
Muchas gracias por vuestros comentarios.

He intentado lo de INTO OUTEFILE, he recibido:

Código:
#1045 - Access denied for user ''@'localhost' (using password: NO)

Citar
Otra cosa interesante es utilizar load_file(), para poder ver archivos de configuración como config.php y porque no /etc/passwd para enumerar usuarios.

Eso ya lo había intentado, pero obtengo

Código:
load_file(/etc/passwd);
(Tambien probé en forma hexadecimal)
Código:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'load_file(index.php)' at line 1

Gracias por todo


Título: Re: SQL injection.
Publicado por: berz3k en 10 Febrero 2009, 08:03 am
1) Crea una nueva tabla
2) Agregale codigo PHP con llamada al system()
3) Origina un error para conocer el PATH
4) Envia el contenido de la tabla (con codigo php) al filesystem
4) Nombralo como mejor te plazca e.g http://server/shell.php

-berz3k.


Título: Re: SQL injection.
Publicado por: Uxio en 10 Febrero 2009, 12:14 pm
Gracias por la respuesta, pero el problema es que no puedo crear tablas, sólo puedo leer :P

Saludos


Título: Re: SQL injection.
Publicado por: Azielito en 10 Febrero 2009, 19:19 pm
Pues como no nos das la version (ni de MySQL, ni de PHP, ni de phpMyAdmin...

Cita de: shellsec.net/articulo/Otro-Resumen-de-vulnerabilidades/
17)

—————————————————-
-Vulnerabilidades en el phpMyAdmin -
—————————————————-

Multiples vulnerabilidades han sido detectadas en el phpMyAdmin, las cuales permitirian a un atacante ejecutar codigo y acceder a información sensible.

ejemplos de las vulnerabilidades:

1. Cross site scripting y muestra del path

2. Directorio tranversal

3. Información sin coding: solo guarda los usuarios y las claves en texto plano.

ejemplos:

http://localhost/mysql/sql.php?sql_query=">..<h1>XSS ! Oh my God!</h1>

http://localhost/mysql/db_datadict.php?db=XSS

http://localhost/mysql/db_details_importdocsql.php?submit_show=true&do=import&docpath=../../../BOOT.ini

http://localhost/mysql/read_dump.php?db=nonexistent&sql_query="><h1>XSS</h1&gt;

http://localhost/mysql/tbl_properties_links.php?table_info_num_rows=10&url_query="><h1>XSS

Versiones vulnerables:

Debian Linux 2.2 68k
Debian Linux 2.2 alpha
Debian Linux 2.2 arm
Debian Linux 2.2 powerpc
Debian Linux 2.2 sparc
FreeBSD FreeBSD 3.5.1
FreeBSD FreeBSD 4.2
MandrakeSoft Linux Mandrake 7
MandrakeSoft Linux Mandrake 7.1
MandrakeSoft Linux Mandrake 7.2
OpenBSD OpenBSD 2.6
OpenBSD OpenBSD 2.7
OpenBSD OpenBSD 2.8
PhpMyAdmin PhpMyAdmin 2.0
PhpMyAdmin PhpMyAdmin 2.0.1
PhpMyAdmin PhpMyAdmin 2.0.2
PhpMyAdmin PhpMyAdmin 2.0.3
PhpMyAdmin PhpMyAdmin 2.0.4
PhpMyAdmin PhpMyAdmin 2.0.5
PhpMyAdmin PhpMyAdmin 2.1
PhpMyAdmin PhpMyAdmin 2.1.1
PhpMyAdmin PhpMyAdmin 2.1.2
PhpMyAdmin PhpMyAdmin 2.2.2
PhpMyAdmin PhpMyAdmin 2.2.3
PhpMyAdmin PhpMyAdmin 2.2.4
PhpMyAdmin PhpMyAdmin 2.2.5
PhpMyAdmin PhpMyAdmin 2.2.6
PhpMyAdmin PhpMyAdmin 2.3.1
PhpMyAdmin PhpMyAdmin 2.3.2
PhpMyAdmin PhpMyAdmin 2.4.0
PhpMyAdmin PhpMyAdmin 2.5.0
PhpMyAdmin PhpMyAdmin 2.5.1
RedHat Linux 6.2
RedHat Linux 7.0
S.u.S.E. Linux 6.4
S.u.S.E. Linux 7
S.u.S.E. Linux 7.1
Sun Solaris 2.6
Sun Solaris 2.6 _x86
Sun Solaris 7.0
Sun Solaris 7.0 _x86
Sun Solaris 8.0
Sun Solaris 8.0 _x86

Solución:

La solución es instalar la version phpMyAdmin 2.5.2 , la cual contiene
los fixes correspondientes.




:http://milw0rm.com/video/watch.php?id=90
:http://milw0rm.com/exploits/7382
:http://milw0rm.com/exploits/1244
:http://milw0rm.com/exploits/309


Título: Re: SQL injection.
Publicado por: Uxio en 10 Febrero 2009, 21:03 pm
Muchas gracias por todo Azielito. Algunas de las cosas que me pones ya las había probado, probaré ahora lo queno había probado.

Por cierto, debería haberlo dicho antes xD

Código:
Versión del servidor SQL: 5.0.51a-3ubuntu5.4
phpMyAdmin 2.11.3


Título: Re: SQL injection.
Publicado por: Azielito en 10 Febrero 2009, 23:02 pm
Tambien veo que, aun que dices que entraste como 'root' en el error que te mando dice otra cosa :-o

Citar
#1045 - Access denied for user ''@'localhost' (using password: NO)

:-o


Título: Re: SQL injection.
Publicado por: Uxio en 10 Febrero 2009, 23:46 pm
No Azielito, no entré como root, entré poniendo una comilla antes de root, sin poner pass ni nada ;D ;D

No tengo privilegios, veo las columnas y puedo hacer consultas al servidor


Título: Re: SQL injection.
Publicado por: pepeluxx en 13 Febrero 2009, 16:21 pm
http://www.milw0rm.com/video/watch.php?id=90


Título: Re: SQL injection.
Publicado por: Uxio en 13 Febrero 2009, 20:59 pm
http://www.milw0rm.com/video/watch.php?id=90

Muchas gracias por el vídeo, ya lo había visto, lo que pasa que eso es Despues de haber entrado, y yo aún no tengo privilegios de lectura.

La verdad es que me tiene bastante intrigado todo esto...

Si alguien quiere el enlace para probar se lo paso por privado


Título: Re: SQL injection.
Publicado por: epunamun en 13 Febrero 2009, 22:15 pm
pero es como obvio qeu no estas entrando como root, estas entrando como @localhost, debes de subir tus privilegios ahoa si tienes acceso de solo lectura busca una tabla de usuarios despues de tener una tabla de usuarios podras loguearte como quieras, creoq eu eso es mas facil....

salu2 nos bites,


Título: Re: SQL injection.
Publicado por: s E t H en 16 Febrero 2009, 22:53 pm
si tiene phpmyadmin debe ser porque esta usando mysql para algo.. no hay otra base de datos que puedas aprovechar? (como la de un csm o algo asi..)


Título: Re: SQL injection.
Publicado por: Uxio en 21 Febrero 2009, 12:37 pm
No sé, yo al menos no he encontado otra DB...

Lo que estoy intentando hacer es leer el archivo /phpmyadmin/config.inc.php, que es donde están las passwords, pero no soy capaz, me da siempre syntax error o "The file is too big". ¿Cuál es el comando adecuado para cargar el archivo y listarlo por la pantalla?


Título: Re: SQL injection.
Publicado por: Uxio en 27 Febrero 2009, 16:37 pm
Y seguís moviéndolo de un foro a otro xDDD


Título: Re: SQL injection.
Publicado por: OzX en 27 Febrero 2009, 17:44 pm
el load file es con ''
load_file(''); o con hexsql.

Prueba ingresando a mysql.user, para luego volver a logearte en el phpmyadmin, asi tendras algun privilegio de algo. o remotamente por si tiene mysql remoto

nmap -sSV -P0 <ip> -p 3306

Saludos¡