Está en la página 1de 5

Universidad Cooperativa de Colombia Nombre: Marvin Garca lvarez Cdigo: 0108091226

13 de mayo de 2011

INFORME SQL INJECTION

OBJETIVO Realizar ataques mediante SQL INJECTION averiguando con estos, Usuario y Contrasea del administrador de la pgina de tal manera que podamos con estos datos Usuario y contrasea, poder acceder a la base de datos de dicha pgina. DESCRIPCIN

Inyeccin SQL es una vulnerabilidad informtica en el nivel de la validacin de las entradas a la base de datos de una aplicacin. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con cdigo SQL. Error que se suele producir en pginas web, aunque puede producirse en cualquier programa que haga una llamada a una base de datos SQL, cuando se realiza una consulta usando como parte de ella datos que no han sido correctamente tratados (normalmente no escapando los caracteres delimitadores.

GUA PASO A PASO

Pgina inicial http://www.groundstarresources.com/news /news.php?newsID=45

Universidad Cooperativa de Colombia Nombre: Marvin Garca lvarez Cdigo: 0108091226

13 de mayo de 2011

Averiguamos si es vulnerable La pgina si es vulnerable, la identificamos colocando una () al final del link remplazando el ltimo nmero que en este caso es 45 de modo que quede asi: Ej:

http://www.groundstarresources.com/news/news.php?newsID ='
Error: 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 ' LIMIT 1' at line 1

Mirar que lneas tienen error para eso utilizaremos estos parmetros, -1+union+all+select+0 -- aumentando nmeros hasta que desaparezca el error, es decir Ej:

http://www.groundstarresources.com/news/news.php?newsID =' -1+union+all+select+0,1,2,3,4,5,6,7,8,9,10,11,12,13--

Significa que hay 6 lineas con error y los dos numeros que nos aparecieron (1,2) nos indican las columnas que podemos utilizar. Nosotros utilizaremos el uno; la siguiente prueba que haremos es colocarle version() en la columna que escogimos donde nos mostrara unos numeros, quedando asi:

Universidad Cooperativa de Colombia Nombre: Marvin Garca lvarez Cdigo: 0108091226

13 de mayo de 2011

Ahora averiguaremos el nombre de las tablas, para esto cambiamos el numero elegido por (table_name), y al final del link lo siguiente,

http://www.groundstarresources.com/news/news.php ?newsID= +from+information_schema.tables+limit+1,1-), aumentando el primer numero despues de el ultimo + hasta que me arroje el nombre de la tabla.

Aun no nos mostro el nombre asi que continuamos modificando el numero: En nuestro caso nos arrojo el nombre de la tabla (gsr_news_authors) con 18.

El siguiente paso es averiguar el nombre del usuario, para esto colocaremos al final del link esta linea (+from+gsr_news_authors), es el nombre arrojado en el paso anterior y remplazamos table_name por palabras hasta que nos arroje el nombre de usuario.

Universidad Cooperativa de Colombia Nombre: Marvin Garca lvarez Cdigo: 0108091226

13 de mayo de 2011

En este intento con la palabra nombre nos arrojo un error asi que probaremos con mas palabras. Despues de varios intentos averiguamos que con la palabra name nos arrojo el mensaje admin el cual es el nombre que estamos buscando.

sera averiguar la contrasea o password, para esto tendremos que hacer lo mismo que el paso anterior, remplazar la palabra name por palabras que se relacionen con contrasea, tales como pass:

Ya tenemos los dos datos que necesitabamos, usuario(admin), contrasea(796729c325351e38), Ahora intentaremos ingresar a la base de datos. Para esto utilizaremos paginas que nos permiten atravez del link llegar hasta la URL del administrador.

CONTRAMEDIDAS:
Mantenerse actualizado al ltimo Service Pack tanto del sistema operativo como de las aplicaciones que se estn utilizando.

Universidad Cooperativa de Colombia Nombre: Marvin Garca lvarez Cdigo: 0108091226

13 de mayo de 2011

Se recomienda establecer un permetro controlado mediante el uso de firewalls (cortafuegos) va hardware o software filtrando el acceso desde el exterior a los puertos crticos (lo que incluye los puertos TCP 1433 y UDP 1434). Para evitar aumentar el peligro tambin puede ser de mucha utilidad instalar los servidores de bases de datos en mquinas distintas a los servidores web. Todo esto sin dejar de lado el permetro interno en lo relativo a la conectividad del SGBDR con el resto de la red interna. Es necesario tener una visin global de la estrategia de seguridad ya que es del todo intil tener un host de base de datos con unos niveles de proteccin altsimos si est conectado a una mquina mal configurada o con facilidades de acceso. Hay que verificar qu nivel de autenticacin es el adecuado en el entorno, en funcin de la instalacin del servidor de base de datos que se tenga, lo mismo que hay que controlar los privilegios que se establecen, sobre todo a las cuentas con las que se piensa trabajar para aplicaciones de desarrollo interno. De la misma forma, hay que establecer unas directivas de seguridad a nivel de host para defensa en profundidad, ayudndose de plantillas de seguridad "built-in" o de terceras partes, o en su defecto usando "ipsecpol" del kit de recursos de w2k.

CONCLUSIONES

Es importante el tener presente que este tipo de ataques SQL INJECTION) son muy frecuentes, y pueden tener consecuencias irreparables en la integridad de nuestros datos.
Inyeccin SQL es una metodologa de ataque que se dirige a los datos que residen en una base de datos a travs del servidor de seguridad que la protege. Se trata de modificar los parmetros de una aplicacin basada en Web con el fin de modificar las instrucciones SQL que se analizan para recuperar datos de la base de datos.

Con esta prctica conocimos una herramienta y aprendimos la forma de obtener un Shell remoto de una mquina vctima a travs de su direccin IP. Conocimos los principales comandos utilizados para obtener los payloads y ejecutar los ataques a la vctima.

También podría gustarte