jueves, 8 de marzo de 2012

Introduccion al SQL (2ª Parte)

********************************************

Introduccion a SQL (1ª Parte)
- Introduccion a SQL (2ª Parte)

********************************************


Como ya hemos visto en el anterior capitulo, SQL es un lenguaje que trabaja con tablas. Dichas tablas se encuentran almacenadas en bases de datos. Es decir:

Servidor -> Bases de datos -> Tablas -> Columnas

Esto significa que un servidor puede tener varias bases de datos, y que cada base de datos tiene una serie de tablas, y que estas están formadas por columnas.

En esta parte vamos a mostrar lo importantes que son para las SQLi ciertas tablas que tiene por defecto el sistema.

Concretamente tenemos una base de datos llamada information_schema, esta base de datos almacena toda la información sobre la base de datos, es decir, las tablas que tiene, que columnas tiene cada tabla, etc..

Vamos a ver ahora como nos servira esto para realizar una SQL Injection básica.

Otra cosa muy imporntante para esta parte sera la instruccion SQL "union", la cual permite sumar el resultado
de dos consultas. Es decir que realizara las dos consultas y unira los resultados. Una de las cosas mas importantes
es que al realizar un union, ambas consultas tiene que tener la misma cantidad de columnas. Veamos un ejemplo:

  Tabla: usuarios

  +-----------------+------------------+
  | usuario      | password     |
  +-----------------+------------------+
  | Eduardo     | 123456        |
  | Pepito        | 321654        |
  +-----------------+------------------+

Tabla: personas

+-----------------+------------------+
  | nombre     | apellido         |
+-----------------+------------------+
| Juan          | Perez          |
| Jorge         | Ramirez       |
+-----------------+------------------+

Un ejemplo de esta tipo de consultas seria el siguiente:

SELECT usuarios, password FROM usuarios UNION SELECT nombre, apellido FROM personas.

Lo cual nos daria como resultado lo siguiente:

  +-----------------+------------------+
| nombre      | apellido       |
  +-----------------+------------------+
| Eduardo     | 123456        |
| Pepito        | 321654        |
| Juan           | Perez          |
| Jorge         | Ramirez       |
+-----------------+------------------+

Como se ve el resultado seria la union de ambas consultas.

Una vez visto esto vamos a ver como se utilizar en las inyecciones SQL para sacar informacion.

Espero que les haya gustado!

Un saludo!

P.D: Ante cualquier duda no duden en mandarme un correo.
       hacking.etico.web@gmail.com

No hay comentarios:

Publicar un comentario