(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=? 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Web lietojumprogrammu drošība - XSS ievainojamība - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2020-10-14
Programmatūras izstrāde

Web lietojumprogrammu drošība - XSS ievainojamība

Lukāšs Kolko

XSS uzbrukumi ļauj uzbrucējiem ievadīt klienta puses skriptus tīmekļa lapās, ko skatās citi lietotāji. Šīs ievainojamības galvenās sekas ir iespēja izpildīt jebkuru darbību pieteiktā lietotāja kontekstā un nolasīt jebkurus datus pieteiktā lietotāja kontekstā.

Uzbrukuma scenārijs

  1. Uzbrucējs atrod XSS ievainojamību upura izmantotajā tīmekļa vietnē, piemēram, bankas tīmekļa vietnē.
  2. Cietušais pašlaik ir pieteicies šajā lapā.
  3. Uzbrucējs nosūta upurim viltotu URL adresi.
  4. Upuris noklikšķina uz URL
  5. Par cietušā banka tīmekļa vietne, JavaScript kods sāk izpildīt, lai pārtvertu lietotāja dati vai veikt pārskaitījumu uzbrucēja vārdā uz uzbrucēja kontu.

Jāatzīmē, ka cietušā vārdā veiktās operācijas var būt cietušajam neredzamas, jo tās var notikt fonā, izmantojot bankas API, vai uzbrucējs tos var veikt vēlāk, izmantojot autentifikācijai nepieciešamos datus, žetonus, sīkfailus utt.

XSS veidi

1. Atspoguļots XSS

Atbildē tiek parādīts HTML/JavaScript kods, kas ietverts jebkurā parametrā (piemēram, GET, POST vai sīkfailā).

Lapa ar teksta ievadi, lai meklētu kaut ko, kas liek parametru ?search=foo URL galotnē, kad tiek veikta API vaicāšana. Pēc jebkuras frāzes ievadīšanas, ja tā nav atrasta, HTML formātā tiek ievietots atgriešanas ziņojums ex.

<div>Nav atrasts neviens rezultāts <b>foo</b></div>

Mēs varam mēģināt ievietot URL ?search=..

2.DOM XSS

Tas ir tad, ja tās izpilde ir iespējota, izmantojot bīstamas JavaScript funkcijas, piemēram. `eval` vai `innerHtml`. Tālāk dotajā “Tiešraides piemērā” ir parādīts DOM XSS uzbrukums, kura pamatā ir `innerHtml` funkcija.

3. Saglabāts XSS

Šajā gadījumā ļaunprātīgs kods tiek rakstīts servera pusē. Piemēram, mēs varam nosūtīt komentāru ar ļaunprātīgu kodu bloga ierakstam, kas ir augšupielādēts serverī. Tā uzdevums ir, piemēram, sagaidīt administratora moderēšanu un pēc tam nozagt viņa sesijas datus utt.

Injekcijas metodes

1. Birkas saturā

`onerror = brīdinājums('XSS')`uz

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

2. Atribūta saturā

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

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

  1. Atribūta saturā bez pēdiņām

x onclick = brīdinājums('XSS')uz

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

  1. In the hrefef atribūts

javascript:alert('XSS') uz

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

  1. JavaScript koda iekšpusē esošajā rindā

";alert('XSS')// uz

<script>let username="";alert('XSS')//";</script>
  1. Atribūtā ar JavaScript notikumu

');alert('XSS')// kur ' ir viena pēdiņa, uz

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

  1. In the href atribūts JavaScript protokolā

);alert(1)// kur %27 ir viena pēdiņa, uz

<a href="javascript:change('%27);alert(1)//')">noklikšķiniet uz</a>


Tiešraides piemērs

Aizsardzības metodes

  1. Datu kodēšana, izmantojot iebūvētās funkcijas, kas atrodamas daudzos programmēšanas valodas.
  2. Šablonu sistēmu izmantošana ar automātisko kodēšanu. Lielākā daļa populāro karkasu, kas izmanto šādas sistēmas, aizsargā mums no XSS injekcijas (Django, veidnes, Vue, React utt.).
  3. Neizmantojiet tādas funkcijas kā eval vai Funkcija ar neuzticamiem lietotāja datiem.
  4. Neizmantojiet funkcijas un īpašības, kas DOM koka elementiem tieši piešķir HTML kodu, piemēram, innerHTML, outerHTML, insertAdjacentHTML, ocument.write. Tā vietā varat izmantot funkcijas, kas šiem elementiem tieši piešķir tekstu, piemēram. textContent vai innerText.
  5. Esiet uzmanīgi, kad pāradresējat lietotāju uz URL, kas ir viņa kontrolē. Injekcijas risks atrašanās vieta = 'javascript('XSS')'.
  6. HTML filtrēšana, izmantojot tādas bibliotēkas kā DOMPurify.
  7. Esiet uzmanīgi ar augšupielādi .html vai .svg faili. Varat izveidot atsevišķu domēnu, no kura tiks apkalpoti augšupielādētie faili.
  8. Izmantojiet Satura drošības politika mehānisms.
  9. Aplūkojiet populārākajās pārlūkprogrammās iebūvētos anti-XSS filtrus.

    Ja šis raksts jums šķiet interesants, sekojiet Lukāšam Github vietnē: https://github.com/twistezo

Lasīt vairāk:

Datu iegūšanas stratēģijas NextJS

Rails API un CORS. Apziņas piesitiens

Kāpēc jums (iespējams) vajadzētu izmantot Typescript?

Saistītie raksti

Ilustrācija viedtālruņa veselības aprūpes lietotnei ar sirds ikonu un pieaugošo veselības diagrammu, kas apzīmēta ar The Codest logotipu, kurš pārstāv digitālās veselības un HealthTech risinājumus.
Programmatūras izstrāde

Veselības aprūpes programmatūra: Mārketinga programmatūra: veidi, izmantošanas gadījumi

Šodien veselības aprūpes organizāciju rīcībā esošie rīki vairs neatgādina papīra diagrammas, kas tika izmantotas pirms vairākiem gadu desmitiem. veselības aprūpes programmatūra tagad atbalsta veselības aprūpes sistēmas, pacientu aprūpi un mūsdienīgu veselības aprūpes sniegšanu klīniskajās un...

TĀKĀDĒJAIS
Abstrakta ilustrācija ar lejupejošu joslu diagrammu ar augošu bultiņu un zelta monētu, kas simbolizē izmaksu efektivitāti vai ietaupījumus. Augšējā kreisajā stūrī redzams The Codest logotips ar saukli "In Code We Trust" uz gaiši pelēka fona.
Programmatūras izstrāde

Kā paplašināt izstrādātāju komandu, nezaudējot produkta kvalitāti

Palielināt izstrādātāju komandu? Uzziniet, kā augt, nezaudējot produkta kvalitāti. Šajā rokasgrāmatā aplūkotas pazīmes, kas liecina, ka ir pienācis laiks paplašināt komandu, komandas struktūra, pieņemšana darbā, vadība un rīki, kā arī tas, kā The Codest var...

TĀKĀDĒJAIS
Programmatūras izstrāde

Uz nākotni noturīgu tīmekļa lietojumprogrammu veidošana: The Codest ekspertu komandas ieskats

Uzziniet, kā The Codest izceļas mērogojamu, interaktīvu tīmekļa lietojumprogrammu izveidē, izmantojot modernākās tehnoloģijas un nodrošinot viengabalainu lietotāja pieredzi visās platformās. Uzziniet, kā mūsu zināšanas veicina digitālo transformāciju un biznesa...

TĀKĀDĒJAIS
Programmatūras izstrāde

Top 10 Latvijā bāzēti programmatūras izstrādes uzņēmumi

Mūsu jaunākajā rakstā uzziniet vairāk par Latvijas labākajiem programmatūras izstrādes uzņēmumiem un to inovatīvajiem risinājumiem. Uzziniet, kā šie tehnoloģiju līderi var palīdzēt uzlabot jūsu biznesu.

thecodest
Uzņēmumu un mērogošanas risinājumi

Java programmatūras izstrādes pamati: A Guide to Outsourcing Successfully

Izpētiet šo būtisko rokasgrāmatu par veiksmīgu outsourcing Java programmatūras izstrādi, lai uzlabotu efektivitāti, piekļūtu speciālajām zināšanām un sekmīgi īstenotu projektus ar The Codest.

thecodest

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian is_ISIcelandic lvLatvian