Cum se piratează un site web: Exemplu de piratare a site-urilor online

Cuprins:

Anonim

Mai mulți oameni au acces la internet decât oricând. Acest lucru a determinat multe organizații să dezvolte aplicații bazate pe web pe care utilizatorii le pot folosi online pentru a interacționa cu organizația. Codul slab scris pentru aplicațiile web poate fi exploatat pentru a obține acces neautorizat la date sensibile și servere web.

În acest tutorial veți învăța cum să hackeriți site-uri web și vă vom prezenta tehnicile de hacking ale aplicațiilor web și măsurile de contracarare pe care le puteți pune în aplicare pentru a vă proteja împotriva unor astfel de atacuri .

Subiecte tratate în acest tutorial

  • Ce este o aplicație web? Ce sunt amenințările web?
  • Cum să vă protejați site-ul web împotriva hackerilor?
  • Trucuri de piratare a site-urilor web: piratează un site web online!

Ce este o aplicație web? Ce sunt amenințările web?

O aplicație web (cunoscută și sub numele de site web) este o aplicație bazată pe modelul client-server. Serverul oferă acces la baza de date și logica de afaceri. Este găzduit pe un server web. Aplicația client rulează pe browserul web client. Aplicațiile web sunt de obicei scrise în limbi precum Java, C # și VB.Net, PHP, ColdFusion Markup Language, etc. motoarele de baze de date utilizate în aplicațiile web includ MySQL, MS SQL Server, PostgreSQL, SQLite etc.

Majoritatea aplicațiilor web sunt găzduite pe servere publice accesibile prin internet. Acest lucru îi face vulnerabili la atacuri datorită accesibilității ușoare. Următoarele sunt amenințări frecvente ale aplicațiilor web.

  • Injecție SQL - scopul acestei amenințări ar putea fi ocolirea algoritmilor de autentificare, sabotarea datelor etc.
  • Atacuri de negare a serviciului - scopul acestei amenințări ar putea fi refuzarea accesului utilizatorilor legitimi la resursă
  • Cross Site Scripting XSS - scopul acestei amenințări ar putea fi să injecteze cod care poate fi executat în browserul clientului.
  • Intoxicație cu cookie-uri / sesiuni - scopul acestei amenințări este de a modifica cookie-urile / datele de sesiune de către un atacator pentru a obține acces neautorizat.
  • Formarea manipulării - scopul acestei amenințări este de a modifica datele formularelor, cum ar fi prețurile în aplicațiile de comerț electronic, astfel încât atacatorul să poată obține articole la prețuri reduse.
  • Injecție de cod - scopul acestei amenințări este de a injecta cod precum PHP, Python etc. care poate fi executat pe server. Codul poate instala portiere din spate, poate dezvălui informații sensibile etc.
  • Defacement - scopul acestei amenințări este de a modifica pagina afișată pe un site web și redirecționarea tuturor cererilor de pagină către o singură pagină care conține mesajul atacatorului.

Cum să vă protejați site-ul web împotriva hackerilor?

O organizație poate adopta următoarea politică pentru a se proteja împotriva atacurilor serverelor web.

  • SQL Injection - igienizarea și validarea parametrilor utilizatorului înainte de a le trimite în baza de date pentru procesare poate ajuta la reducerea șanselor de a fi atacat prin SQL Injection. Motoarele de baze de date, cum ar fi MS SQL Server, MySQL, etc. acceptă parametrii și declarațiile pregătite. Sunt mult mai sigure decât declarațiile SQL tradiționale
  • Atacuri de negare a serviciului - firewall - urile pot fi folosite pentru a renunța la trafic de pe adresa IP suspectă dacă atacul este un DoS simplu. Configurarea corectă a rețelelor și a sistemului de detectare a intruziunilor poate ajuta, de asemenea, la reducerea șanselor ca un atac DoS să aibă succes.
  • Cross Site Scripting - validarea și igienizarea anteturilor, parametrii trecuți prin adresa URL, parametrii formularului și valorile ascunse pot ajuta la reducerea atacurilor XSS.
  • Cookie / Session Poisoning - acest lucru poate fi prevenit prin criptarea conținutului cookie-urilor, temporizarea cookie-urilor după un timp, asocierea cookie-urilor cu adresa IP a clientului care a fost utilizată pentru a le crea.
  • Temperarea formularului - acest lucru poate fi prevenit prin validarea și verificarea datelor introduse de utilizator înainte de procesare.
  • Injecție de cod - aceasta poate fi prevenită prin tratarea tuturor parametrilor ca date, mai degrabă decât cod executabil. Igienizarea și validarea pot fi utilizate pentru a implementa acest lucru.
  • Defacement - o politică bună de securitate pentru dezvoltarea aplicațiilor web ar trebui să se asigure că sigilează vulnerabilitățile utilizate în mod obișnuit pentru a accesa serverul web. Aceasta poate fi o configurație adecvată a sistemului de operare, a software-ului serverului web și a celor mai bune practici de securitate atunci când se dezvoltă aplicații web.

Trucuri de piratare a site-urilor web: piratează un site web online

În acest scenariu practic de piratare a site-ului web, vom deturna sesiunea de utilizator a aplicației web situată la www.techpanda.org. Vom folosi scripturi cross site pentru a citi ID-ul sesiunii cookie, apoi îl vom folosi pentru a identifica o sesiune legitimă de utilizator.

Presupunerea făcută este că atacatorul are acces la aplicația web și ar dori să deturneze sesiunile altor utilizatori care folosesc aceeași aplicație. Scopul acestui atac ar putea fi obținerea accesului administratorului la aplicația web, presupunând că contul de acces al atacatorului este limitat.

Noțiuni de bază

  • Deschideți http://www.techpanda.org/
  • În scopuri practice, se recomandă cu tărie accesul folosind SQL Injection. Consultați acest articol pentru mai multe informații despre cum să faceți acest lucru.
  • Adresa de e-mail de conectare este Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza. Parola este Password2010
  • Dacă v-ați conectat cu succes, veți obține următorul tablou de bord
  • Faceți clic pe Adăugați un contact nou
  • Introduceți următoarele ca prenume

Dark

AICI,

Codul de mai sus folosește JavaScript . Se adaugă un hyperlink cu un eveniment onclick . Când utilizatorul nebănuit face clic pe link, evenimentul recuperează ID-ul sesiunii cookie PHP și îl trimite la pagina snatch_sess_id.php împreună cu ID-ul sesiunii din URL

  • Introduceți detaliile rămase așa cum se arată mai jos
  • Faceți clic pe Salvați modificările
  • Tabloul de bord va arăta acum ca următorul ecran
  • Întrucât codul de script de pe site este stocat în baza de date, acesta va fi încărcat de fiecare dată când utilizatorii au drepturi de acces
  • Să presupunem că administratorul se conectează și face clic pe hyperlinkul care scrie Dark
  • El / ea va primi fereastra cu ID-ul sesiunii afișat în adresa URL

Notă : scriptul ar putea trimite valoarea către un server la distanță unde este stocat PHPSESSID, apoi utilizatorul a redirecționat înapoi la site-ul web ca și cum nu s-ar fi întâmplat nimic.

Notă : valoarea pe care o obțineți poate fi diferită de cea din acest tutorial de piratare a paginilor web, dar conceptul este același

Uzurparea sesiunii folosind programul de completare Firefox și Tamper Data

Diagrama de mai jos arată pașii pe care trebuie să îi parcurgeți pentru a finaliza acest exercițiu.

  • Veți avea nevoie de browserul web Firefox pentru această secțiune și suplimentul Tamper Data
  • Deschideți Firefox și instalați adăugarea așa cum se arată în diagramele de mai jos
  • Căutați date de manipulare, apoi faceți clic pe instalare așa cum se arată mai sus
  • Faceți clic pe Acceptați și instalați ...
  • Faceți clic pe Repornire acum când se finalizează instalarea
  • Activați bara de meniu în Firefox dacă nu este afișată
  • Faceți clic pe meniul de instrumente, apoi selectați Tamper Data așa cum se arată mai jos
  • Veți obține următoarea fereastră. Notă: Dacă Windows-ul nu este gol, apăsați butonul de ștergere
  • Faceți clic pe meniul Start Tamper
  • Reveniți la browserul web Firefox, tastați http://www.techpanda.org/dashboard.php apoi apăsați tasta Enter pentru a încărca pagina
  • Veți primi următoarea fereastră pop-up din Tamper Data
  • Fereastra pop-up are trei (3) opțiuni. Opțiunea Tamper vă permite să modificați informațiile antetului HTTP înainte de a fi trimise la server .
  • Apasa pe el
  • Veți obține următoarea fereastră
  • Copiați ID-ul sesiunii PHP pe care l-ați copiat de la adresa URL de atac și lipiți-l după semnul egal. Valoarea dvs. ar trebui să arate acum

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Faceți clic pe butonul OK
  • Veți primi din nou fereastra popup Tamper data
  • Debifați caseta de selectare care solicită Continuarea manipulării?
  • Faceți clic pe butonul de trimitere când ați terminat
  • Ar trebui să puteți vedea tabloul de bord așa cum se arată mai jos

Notă : nu ne-am autentificat, am identificat o sesiune de autentificare folosind valoarea PHPSESSID pe care am recuperat-o folosind scripturi de pe site-uri încrucișate

rezumat

  • O aplicație web se bazează pe modelul server-client. Partea client utilizează browserul web pentru a accesa resursele de pe server.
  • Aplicațiile web sunt de obicei accesibile prin internet. Acest lucru îi face vulnerabili la atacuri.
  • Amenințările aplicațiilor web includ SQL Injection, Code Injection, XSS, Defacement, Cookie poisoning, etc.
  • O bună politică de securitate atunci când dezvoltați aplicații web vă poate ajuta să le asigurați securitatea.