Cum să hack un site

Mai întâi, să definim cu faptul că, prin acest articol, nu încurajez pe nimeni să hărțuiască resursele de Internet ale cuiva folosind metodele descrise mai jos.







Scopul principal al articolului este să demonstreze utilizatorului importanța subiectului de protecție a datelor pe Internet, pe exemplul unui site care nu este protejat corespunzător. Ca metodă de a ataca site-ul, cea mai comună metodă de hacking a unui site este injectarea SQL.

În primul rând, vom determina că toate site-urile moderne, voluminoase și complexe sunt construite pe baza unei baze de date fără excepție. Lucrul cu datele stocate în baza de date a site-ului dvs. se realizează prin intermediul limbajului structural al interogărilor SQL.

Injecția SQL este o tehnică pentru introducerea unui anumit cod (care nu rupe structura solicitării în sine) la interogarea sursă SQL pentru a avea acces la datele conținute în baza de date.

Astfel, citește conținutul tuturor tabelelor și a elimina, modifica sau adăuga date, în anumite condiții, legate, de regulă, cu lipsa de cod și de interogare funcțiile site-ului pentru a proteja datele, un atacator poate prin SQL-injecție. obțineți capacitatea de a citi și / sau scrie fișiere locale și de a executa comenzi arbitrare pe serverul atacat. Nu vom mai vorbi mult timp despre teorie și vom continua să acționăm.

Deci, în primul rând, să ne familiarizăm cu un astfel de concept de transfer de date utilizând metoda GET. N-ai observat, călătorind pe paginile internetului nesfârșit. că legăturile pe care călătoriți au adesea forma:

www.hxxxxx.ru / index.php? ceva = ceva, ceva = ceva = altceva.

unde în locul condiționalului meu "ceva" și "ceva" există tot felul de semnificații.

Deci, ar trebui să știți că urlul care arată în felul acesta conține anumite informații, și anume: semnul întrebării are mai întâi o variabilă (numele său) și apoi = valoarea sa. marca separă variabilele una de cealaltă.

Și toate acestea se fac doar pentru a face pagina. la care vă referiți, ar putea fi variat în funcție de aceste variabile, adică, valorile lor sunt trecute prin aceasta metoda GET în site-ul codul paginii, în cazul în care sunt prelucrate aceste valori, precum și pe baza rezultatelor obținute și pagina noastră de web.







Deci, să începem. Avem un site care, bazat pe parametrul id trecut prin metoda GET, scoate anumite date din baza de date și formează pagina noastră bazată pe ele. Iată codul pentru această interogare SQL, care procesează datele noastre din adresa URL:

$ result3 = mysql_query ('SELECT * FROM raspisanie WHERE cat = $ id').

Dacă traduceți în rusă, interogarea preia toate datele din baza de date raspisanie, unde cat = $ id. De fapt, tot ceea ce cererea merge pentru variabila $ id, pe care o trecem de pe url, nu mai este importantă pentru noi și mai târziu voi explica de ce. Acum ne vom ocupa de url-th. Lasă inițial să arate astfel:

Asta este, vom trece acest parametru URL-interogare id = 3, iar pagina este generată pe baza acestui parametru, atunci acesta este plasat în nostru SQL-interogare și se dovedește că baza de date preia toate datele din tabelul raspisanie în cazul în care caseta de pisica = $ id = 3. Și acum să trecem la cele mai interesante. Să presupunem că știm că baza datelor site-ului atacat stocate în utilizatorii de masă de conectare și parola din zona de site-ul de administrator - în câmpurile de conectare și parolă, respectiv. Și apoi, schimbând pur și simplu URL-ul nostru după cum urmează:

www.xxxxxx.ru / index.php? id = 3 + uniune + select + 1,2, login, parola, 5,6,7 + de la + utilizator / *

- pagina va pune toată această variabilă mare în interogarea noastră, care va arăta

$ result3 = mysql_query ('SELECT * FROM raspisanie WHERE cat = 3 uniune selectați 1,2, login, parola, 5,6,7 de la utilizator / *').

Și, prin tratarea unei noi cereri, care nu încalcă structura tabelei bazei de date, serverul va reveni la noi, în plus față de informațiile obișnuite, care corespunde valorii id = 3, și chiar de utilizator și parola de pe site-ul!

Pentru a fi complet clar, voi traduce noua noastra "interogare magica":

"Selectați toate datele din tabelul raspisanie, unde câmpul cat = 3, și de asemenea faceți o altă solicitare: tipăriți, pe lângă datele primite, valorile de login și parolă din tabelul utilizatorilor."

Numerele 1, 2 și așa mai departe. sunt arbitrare și sunt utilizate pentru a stoca structura interogării, iar numărul acestor valori este determinat de selecție - până când numărul acestor valori devine egal cu numărul de valori care sunt extrase din baza de date implicită.

Numele tabelului utilizatorilor și valorile câmpurilor pentru login și parolă sunt, de asemenea, determinate de selecție, la urma urmei, trebuie să fiți de acord că oriunde au aproape aceleași nume. În cele din urmă, simbolurile de la sfârșitul adresei URL "/ *" servesc pentru a elimina coada cererii inițiale în cazul prezenței acesteia, astfel încât să nu încalce structura solicitării încorporate.

Deci, am vizualizat, pe baza exemplului introducerii cu succes a injectării SQL, o cunoaștere cu una dintre posibilele modalități de hacking a site-ului.

Nu neglijați protecția informațiilor de pe site-ul dvs. și dormiți pașnic!







Articole similare

Trimiteți-le prietenilor: