html injection tutorial
O privire aprofundată asupra injecției HTML:
Pentru a obține o percepție mai bună a injecției HTML, mai întâi ar trebui să știm ce este HTML.
HTML este un limbaj de marcare, în care toate elementele site-ului web sunt scrise în etichete. Este folosit în principal pentru crearea de site-uri web. Paginile web sunt trimise către browser sub formă de documente HTML. Apoi, acele documente HTML sunt convertite în site-uri web normale și afișate pentru utilizatorii finali.
Acest tutorial vă va oferi o imagine de ansamblu completă a injecției HTML, a tipurilor sale și a măsurilor preventive, împreună cu exemple practice în termeni simpli pentru înțelegerea ușoară a conceptului.
Ce veți învăța:
- Ce este injecția HTML?
- Tipuri de injecție HTML
- Cum se efectuează injecția HTML?
- Cum se testează împotriva injecției HTML?
- Cum să preveniți injecția HTML?
- Comparație cu alte atacuri
- Concluzie
- Lectură recomandată
Ce este injecția HTML?
Esența acestui tip de atac de injecție este injectarea de cod HTML prin părțile vulnerabile ale site-ului web. Utilizatorul rău intenționat trimite cod HTML prin orice câmp vulnerabil, cu scopul de a modifica designul site-ului web sau orice informație, care este afișată utilizatorului.
În rezultat, utilizatorul poate vedea datele trimise de utilizatorul rău intenționat. Prin urmare, în general, injecția HTML este doar injectarea codului limbajului de markup în documentul paginii.
Datele care sunt trimise în timpul acestui tip de atac de injecție pot fi foarte diferite. Pot fi câteva etichete HTML, care vor afișa doar informațiile trimise. De asemenea, poate fi întreaga formă sau pagină falsă. Când apare acest atac, browserul interpretează de obicei datele de utilizator rău intenționate ca legitime și le afișează.
întrebări despre interviu c ++ pdf
Schimbarea aspectului unui site web nu este singurul risc pe care îl aduce acest tip de atac. Este destul de similar cu atacul XSS, unde utilizatorul rău intenționat fură identitățile altei persoane. Prin urmare, furtul identității altei persoane se poate întâmpla și în timpul acestui atac de injecție.
Tipuri de injecție HTML
Acest atac nu pare a fi foarte greu de înțeles sau de realizat, deoarece HTML este considerat un limbaj destul de simplu. Cu toate acestea, există diferite modalități de a efectua acest tip de atac. De asemenea, putem distinge diferite tipuri de injecție.
În primul rând, diferite tipuri pot fi sortate în funcție de riscurile pe care le prezintă.
După cum sa menționat, acest atac de injecție poate fi efectuat cu două scopuri diferite:
- Pentru a schimba aspectul site-ului web afișat.
- Pentru a fura identitatea altei persoane.
De asemenea, acest atac de injecție poate fi efectuat prin diferite părți ale site-ului web, adică câmpuri de introducere a datelor și link-ul site-ului web.
Cu toate acestea, principalele tipuri sunt:
- Injecție HTML stocată
- Injecție HTML reflectată
# 1) Injecție HTML stocată:
Principala diferență între aceste două tipuri de injecție este că atacul de injecție stocat are loc atunci când codul HTML rău intenționat este salvat pe serverul web și este executat de fiecare dată când utilizatorul apelează o funcționalitate adecvată.
Cu toate acestea, în cazul atacului de injecție reflectat, codul HTML rău intenționat nu este stocat permanent pe serverul web. Injecția reflectată apare atunci când site-ul web răspunde imediat la intrarea rău intenționată.
# 2) Injecție HTML reflectată:
Acest lucru poate fi din nou împărțit în mai multe tipuri:
- GET reflectat
- POST reflectat
- Adresa URL reflectată
Atacul cu injecție reflectată poate fi efectuat diferit în conformitate cu metodele HTTP, adică GET și POST. Aș reaminti că, cu metoda POST, sunt trimise date și cu metoda GET sunt solicitate date.
Pentru a afla ce metodă este utilizată pentru elementele corespunzătoare ale site-ului web, putem verifica sursa paginii.
De exemplu , un tester poate verifica codul sursă pentru formularul de autentificare și poate găsi ce metodă este utilizată pentru acesta. Apoi, metoda adecvată de injecție HTML poate fi selectată în consecință.
Injecție GET reflectată apare, atunci când informațiile noastre sunt afișate (reflectate) pe site-ul web. Să presupunem că avem o pagină simplă cu un formular de căutare, care este vulnerabil la acest atac. Apoi, dacă introducem orice cod HTML, acesta va apărea pe site-ul nostru web și, în același timp, va fi injectat în documentul HTML.
De exemplu, introducem text simplu cu etichete HTML:
Injecție POST HTML reflectată este un pic mai dificil. Apare atunci când se trimite un cod HTML rău intenționat în locul parametrilor corecți ai metodei POST.
De exemplu , avem un formular de conectare, care este vulnerabil la atacul HTML. Datele tastate în formularul de autentificare sunt trimise cu metoda POST. Apoi, dacă am introduce orice cod HTML în loc de parametrii corecți, atunci acesta va fi trimis cu metoda POST și afișat pe site-ul web.
Pentru a efectua un atac POST HTML reflectat, se recomandă utilizarea unui plugin special al browserului, care să falsifice datele trimise. Unul dintre acestea este pluginul Mozilla Firefox „Tamper Data”. Pluginul preia datele trimise și permite utilizatorului să le schimbe. Apoi, datele modificate sunt trimise și afișate pe site.
De exemplu, dacă folosim un astfel de plugin, atunci vom trimite același cod HTML sau codul formularului de căutare, dacă doriți să testați cu ceva mai complicat Tastați text pentru a căuta
argumente de linie de comandă în exemple de script shell
Dacă este afișat un cod HTML care este salvat undeva, testerul poate fi sigur că acest atac de injecție este posibil. Apoi poate fi încercat un cod mai complicat - pentru Exemplu , pentru a afișa formularul de autentificare fals.
O altă soluție este scanerul de injecție HTML. Scanarea automată împotriva acestui atac vă poate economisi mult timp. Aș dori să vă anunț că nu există multe instrumente pentru testarea injecției HTML în comparație cu alte atacuri.
Cu toate acestea, o soluție posibilă este aplicația WAS. WAS poate fi numit ca un scaner de vulnerabilități destul de puternic, deoarece testează cu intrările diferite și nu se oprește doar cu primul eșuat.
Este util pentru testare, poate așa cum sa menționat în pluginul de mai sus pentru browser „Tamper Data”, acesta primește date trimise, permite testerului să le schimbe și le trimite browserului.
De asemenea, putem găsi câteva instrumente de scanare online, în care trebuie doar să furnizați linkul site-ului web și să se efectueze scanarea împotriva atacului HTML. La finalizarea testării, va fi afișat rezumatul.
Aș dori să comentez că, atunci când selectăm un instrument de scanare, trebuie să fim atenți la modul în care analizează rezultatele și este suficient de precis sau nu.
Cu toate acestea, trebuie avut în vedere faptul că testarea manuală nu trebuie uitată. Astfel putem fi siguri ce intrări exacte sunt încercate și ce rezultate exacte obținem. De asemenea, în acest fel este mai ușor să analizăm și rezultatele.
Din experiența mea într-o carieră de testare software, aș dori să comentez că, pentru ambele moduri de testare, ar trebui să avem cunoștințe bune despre acest tip de injecție. În caz contrar, ar fi dificil să selectați un instrument de automatizare adecvat și să analizați rezultatele acestuia. De asemenea, este întotdeauna recomandat să nu uităm să testăm manual, deoarece ne face să fim mai siguri de calitate.
Cum să preveniți injecția HTML?
Nu există nicio îndoială că principalul motiv al acestui atac este neatenția și lipsa de cunoștințe a dezvoltatorului. Acest tip de atac de injecție apare atunci când intrarea și ieșirea nu sunt validate corespunzător. Prin urmare, regula principală pentru a preveni atacul HTML este validarea adecvată a datelor.
Fiecare intrare trebuie verificată dacă conține un cod de script sau un cod HTML. De obicei, acesta este verificat, dacă codul conține un script special sau paranteze HTML -,.
Există multe funcții pentru verificarea dacă codul conține paranteze speciale. Selectarea funcției de verificare depinde de limbajul de programare pe care îl utilizați.
Ar trebui să ne amintim, că bine testarea securității este, de asemenea, o parte a prevenirii. Aș dori să fiu atentă, deoarece atacul prin injecție HTML este foarte rar, există mai puțină literatură de învățat despre acesta și mai puțin scaner de selectat pentru testare automată. Cu toate acestea, această parte a testării securității nu trebuie ratată, deoarece nu știi niciodată când se poate întâmpla.
De asemenea, atât dezvoltatorul, cât și testerul ar trebui să aibă cunoștințe bune despre modul în care se efectuează acest atac. O bună înțelegere a acestui proces de atac poate ajuta la prevenirea acestuia.
Comparație cu alte atacuri
În comparație cu celelalte atacuri posibile, acest atac cu siguranță nu va fi considerat atât de riscant ca Injecție SQL sau Atac cu injecție JavaScript sau chiar XSS poate fi. Nu va distruge întreaga bază de date și nici nu va fura toate datele din baza de date. Cu toate acestea, nu trebuie considerat ca fiind nesemnificativ.
cât costă punctul de vânzare quickbooks
După cum s-a menționat anterior, scopul principal al acestui tip de injecție este modificarea aspectului site-ului web afișat cu un scop rău intenționat, afișarea informațiilor sau datelor trimise utilizatorului final. Aceste riscuri pot fi considerate ca fiind mai puțin importante.
Cu toate acestea, modificarea aspectului site-ului web poate costa reputația companiei dvs. Dacă un utilizator rău intenționat va distruge aspectul site-ului dvs. web, acesta poate schimba opiniile vizitatorului despre compania dvs.
Trebuie reamintit că un alt risc, pe care îl aduce acest atac pe site, este fura identității altor utilizatori.
După cum sa menționat, cu injecție HTML, utilizatorul rău intenționat poate injecta întreaga pagină, care ar fi afișată pentru utilizatorul final. Apoi, dacă utilizatorul final își va indica datele de conectare în pagina de autentificare falsă, atunci acestea vor fi trimise utilizatorului rău intenționat. Acest caz este, desigur, partea cea mai riscantă a acestui atac.
Trebuie menționat faptul că, pentru a fura datele altor utilizatori, acest tip de atac este selectat mai rar, deoarece există o mulțime de alte atacuri posibile.
Cu toate acestea, este foarte similar cu atacul XSS, care fură cookie-urile utilizatorului și identitatea altor utilizatori. Există, de asemenea, atacuri XSS, care sunt bazate pe HTML. Prin urmare, testarea împotriva atacurilor XSS și HTML poate fi foarte similară și efectuată împreună.
Concluzie
Deoarece injecția HTML nu este la fel de populară ca alte atacuri, poate fi considerată mai puțin riscantă decât alte atacuri. Prin urmare, testarea împotriva acestui tip de injecție este uneori omisă.
De asemenea, se remarcă faptul că există cu siguranță mai puțină literatură și informații despre injecția HTML. Prin urmare, testerii pot decide să nu efectueze acest tip de testare. Cu toate acestea, în acest caz, riscul de atac HTML poate să nu fie suficient de evaluat.
După cum am analizat în acest tutorial, cu acest tip de injecție, întregul design al site-ului dvs. web poate fi distrus sau chiar datele de conectare ale utilizatorului pot fi furate. Prin urmare, este foarte recomandat să includeți injecția HTML pentru testarea securității și să investiți cunoștințe bune.
Ați întâlnit vreo injecție HTML tipică? Simțiți-vă liber să împărtășiți experiențele dvs. în secțiunea de comentarii de mai jos.
Lectură recomandată
- Tutoriale detaliate pentru eclipsă pentru începători
- Tutorial SQL Testing Injection (Exemplu și prevenirea atacului SQL Injection)
- Tutorial Python DateTime cu exemple
- Tutorial de atac Cross Site Scripting (XSS) cu exemple, tipuri și prevenire
- Tutorial de injecție JavaScript: testați și preveniți atacurile de injecție JS pe site
- Tutorial Unix Shell Scripting cu exemple
- Tutorial Selenium Find Element By Text cu exemple
- Tutorial de funcții principale Python cu exemple practice