window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Veebirakenduse turvalisus - XSS haavatavus - The Codest
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2021-04-16
Tarkvaraarendus

Veebirakenduse turvalisus - XSS haavatavus

Lukasz Kolko

XSS-rünnakud võimaldavad ründajatel sisestada kliendipoolseid skripte teiste kasutajate poolt vaadatavatele veebilehtedele. Selle haavatavuse peamised tagajärjed on võimalus teostada mis tahes tegevusi sisselogitud kasutaja kontekstis ja lugeda mis tahes andmeid sisselogitud kasutaja kontekstis.

Rünnaku stsenaarium

  1. Ründaja leiab XSS-haavatavuse ohvri kasutataval veebisaidil, nt panga veebisaidil.
  2. Ohver on praegu sellele leheküljele sisse logitud
  3. Ründaja saadab ohvrile võltsitud URL-i.
  4. Ohver klõpsab URL-i
  5. Ohvri kohta pank veebisait, JavaScript kood hakkab täitma kasutaja andmete pealtkuulamist või tema nimel ülekande sooritamist ründaja kontole.

Tasub märkida, et ohvri nimel tehtavad operatsioonid võivad olla ohvrile nähtamatud, kuna need võivad toimuda taustal panga API abil või ründaja võib neid hiljem teha autentimiseks vajalike andmete, märkide, küpsiste jne abil.

XSS tüübid

1. Peegeldatud XSS

See on selline, kus vastuseks kuvatakse mis tahes parameetris (nt GET, POST või küpsis) sisalduv HTML/JavaScript-kood.

Lehekülg tekstisisendiga, et otsida midagi, mis paneb parameetriks ?search=foo URL-i lõpus API päringu tegemisel. Pärast mis tahes fraasi sisestamist, kui seda ei leita, pannakse tagastussõnum HTML ex.

<div>Ei leitud tulemusi seoses <b>foo</b></div>

Me võime proovida panna URL-i ?search=..

2.DOM XSS

See on siis, kui selle täitmine on lubatud JavaScript ohtlike funktsioonide kasutamisega, näiteks `eval` või `innerHtml`. Allpool olev "Live näide" näitab DOM XSS rünnakut, mis põhineb `innerHtml` funktsioon.

3. Salvestatud XSS

See on üks neist, kus pahatahtlik kood kirjutatakse serveri poolele. Näiteks võime saata pahatahtliku koodiga kommentaari blogipostitusele, mis laaditakse serverisse. Selle ülesanne on näiteks oodata administraatori modereerimist ja seejärel varastada tema seansiandmed jne.

Süstimismeetodid

1. Sildi sisu

`onerror=alert('XSS')`aadressile

<img src onerror="alert('XSS')" />

2. Atribuudi sisu

`" onmouseover=alert('XSS')`" onmouseover=alert('XSS')` aadressile

<div class="" onmouseover="alert('XSS')""></div>

  1. Atribuudi sisu ilma jutumärkideta

x onclick=alert('XSS')aadressile

<div class="x" onclick="alert('XSS')"></div>

  1. In the hrefef atribuut

javascript:alert('XSS') aadressile

<a href="javascript:alert('XSS')"></a>

  1. JavaScript koodis sisalduvas stringis

";alert('XSS')// aadressile

  1. Atribuudis koos sündmusega JavaScript

');alert('XSS')// kus ' on ühekordne jutumärk, arvesse

<div onclick="change('&#39;);alert('XSS')//')">John</div>

  1. In the href atribuut JavaScript protokolli sees

);alert(1)// kus %27 on ühekordne jutumärk, arvesse

<a href="javascript:change('');alert(1)//')">kliki</a>


Elus näide

Kaitsemeetodid

  1. Andmete kodeerimine, kasutades sisseehitatud funktsioone, mis leidub paljudes programmeerimiskeeled.
  2. Automaatse kodeerimisega šabloonisüsteemide kasutamine. Enamik populaarseid raamistikke, mis kasutavad selliseid süsteeme, kaitsevad meid XSS-i süstimise eest (Django, Templates, Vue, React jne).
  3. Ärge kasutage selliseid funktsioone nagu eval või Funktsioon ebausaldusväärsete kasutajaandmetega.
  4. Ärge kasutage funktsioone ja omadusi, mis omistavad HTML-koodi otse DOM-puu elementidele, nt, innerHTML, outerHTML, insertAdjacentHTML, ocument.write. Selle asemel võite kasutada funktsioone, mis määravad teksti otse nendele elementidele, näiteks textContent või innerText.
  5. Olge ettevaatlik, kui suunate kasutaja ümber URL-i, mis on tema kontrolli all. Süstimise oht location = 'javascript('XSS')'.
  6. Filtreerida HTML-i kasutades selliseid raamatukogusid nagu DOMPurify.
  7. Olge ettevaatlik üleslaadimise suhtes .html või .svg failid. Saate luua eraldi domeeni, kust üleslaetud faile serveeritakse.
  8. Kasutage Sisu-turvalisuse poliitika mehhanism.
  9. Vaadake enamikus populaarsetes brauserites sisseehitatud XSS-vastaseid filtreid.

    Kui see artikkel tundub teile huvitav, jälgige Lukasz'i Githubis: https://github.com/twistezo

Loe edasi:

NextJS-i andmete hankimise strateegiad

Rails API ja CORS. Riputus teadvusest

Miks peaksite (tõenäoliselt) kasutama Typescripti?

Seotud artiklid

Tarkvaraarendus

Tulevikukindlate veebirakenduste loomine: The Codest ekspertide meeskonna ülevaade

Avastage, kuidas The Codest paistab skaleeritavate, interaktiivsete veebirakenduste loomisel silma tipptehnoloogiatega, mis pakuvad sujuvat kasutajakogemust kõigil platvormidel. Saate teada, kuidas meie eksperditeadmised aitavad kaasa digitaalsele ümberkujundamisele ja äritegevusele...

THECODEST
Tarkvaraarendus

Top 10 Lätis asuvat tarkvaraarendusettevõtet

Tutvu Läti parimate tarkvaraarendusettevõtete ja nende innovaatiliste lahendustega meie viimases artiklis. Avastage, kuidas need tehnoloogiajuhid saavad aidata teie äri edendada.

thecodest
Enterprise & Scaleups lahendused

Java tarkvaraarenduse põhitõed: A Guide to Outsourcing Successfully

Tutvuge selle olulise juhendiga, kuidas edukalt outsourcing Java tarkvara arendada, et suurendada tõhusust, pääseda ligi eksperditeadmistele ja edendada projekti edu The Codest abil.

thecodest
Tarkvaraarendus

Ülim juhend Poola allhanke kohta

outsourcing kasv Poolas on tingitud majanduslikust, hariduslikust ja tehnoloogilisest arengust, mis soodustab IT kasvu ja ettevõtlussõbralikku kliimat.

TheCodest
Enterprise & Scaleups lahendused

Täielik juhend IT-auditi vahendite ja tehnikate kohta

IT-auditid tagavad turvalised, tõhusad ja nõuetele vastavad süsteemid. Lisateavet nende tähtsuse kohta leiate kogu artiklist.

The Codest
Jakub Jakubowicz CTO & kaasasutajad

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

    etEstonian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch elGreek etEstonian