Atacurile XSS sau Cross-Site Scripting sunt împărțite în trei tipuri diferite și fiecare dintre ele poate cauza probleme serioase utilizatorilor și site-urilor web. Le vom revizui aici.Deși prima parte a adresei URL pare sigură și conține domeniul unui site web valid, codul injectat la sfârșitul adresei URL poate fi rău intenționat.
1. Atacurile XSS reflectate
Atacurile Reflection XSS sunt unul dintre cele mai comune tipuri de atacuri XSS. În acest tip de atacuri, codul rău intenționat este adăugat la sfârșitul adresei URL a unui site web; Cele mai multe dintre aceste site-uri web sunt de încredere și de încredere. Când victima deschide linkul în browserul său, browserul execută codul injectat în URL. Atacatorul folosește de obicei metode de inginerie socială pentru a păcăli victima să facă clic pe link.
De exemplu, un utilizator poate primi un e-mail care pare a fi de la banca sa. E-mailul solicită utilizatorului să viziteze site-ul web al băncii pentru a efectua o acțiune și oferă un link. Link-ul poate fi după cum urmează.
Atacuri XSS stocate
Atacurile XSS stocate în cache Danemarca e-mail lead apar pe site-uri care permit utilizatorilor să posteze conținut pe care alți utilizatori îl pot vedea, cum ar fi forumuri de comentarii sau site-uri de rețele sociale. Dacă site-ul nu verifică corect intrările utilizatorilor, atacatorul poate introduce cod pe care browserele altor utilizatori îl vor executa atunci când pagina este încărcată. De exemplu, un atacator ar putea să meargă la un site de întâlniri online și să pună ceva de genul acesta în profilul său: Orice utilizator care deschide profilul lui Dave devine o victimă a atacului XSS din cache al lui Dave.
Atacuri XSS bazate pe DOM sau (XSS bazat pe DOM)
Acest tip de atac se concentrează asupra modificărilor în documentul HTML sau Document Object Model (DOM) și utilizează JavaScript disponibil în browser. În aceste atacuri, codul rău intenționat este executat direct în DOM-ul paginii, iar serverul joacă un rol mai mic în acest proces. Atacurile XSS bazate pe DOM apar atunci când o aplicație conține JavaScript pentru utilizator care procesează date dintr-o sursă neîncrezătoare și returnează acele date către DOM într-o manieră nesigură.
În exemplul următor, un program folosește JavaScript pentru a citi o valoare dintr-un câmp de intrare și pentru a scrie acea valoare într-un element HTML:
Dacă atacatorul poate controla valoarea câmpului de intrare, el poate crea cu ușurință o valoare rău intenționată care determină rularea scriptului său:
Cum să preveniți atacurile XSS?
Prevenirea atacurilor XSS bz lists necesită strategii diferite și niveluri diferite de protecție în funcție de tipul de aplicație web. Iată câteva modalități eficiente de a preveni aceste atacuri:
Într-un caz obișnuit, câmpul de intrare poate fi completat cu o parte a cererii HTTP, cum ar fi un parametru șir de interogare în URL, care permite unui atacator să efectueze un atac XSS reflectiv folosind o adresă URL rău intenționată.
Evitați utilizarea HTML în intrări
Una dintre cele mai bune modalități de a preveni atacurile XSS persistente este de a nu permite utilizatorilor să introducă HTML în formulare. În loc să utilizați HTML, puteți utiliza alte opțiuni, cum ar fi editorii de markdown sau WYSIWYG, care permit utilizatorilor să creeze conținut bogat fără a fi nevoie de HTML.