OWASP jeb Open Web Security Project ir bezpeļņas labdarības organizācija, kas koncentrējas uz programmatūras un tīmekļa lietojumprogrammu drošības uzlabošanu.
Organizācija publicē populārāko tīmekļa drošības ievainojamību sarakstu, pamatojoties uz dažādu drošības organizāciju datiem.
Tīmekļa drošības ievainojamības tiek priorizētas atkarībā no izmantojamības, nosakāmības un ietekmes uz programmatūru.
- Izmantojamība -
Kas ir nepieciešams, lai izmantotu drošības ievainojamību? Visaugstākā izmantojamība, ja uzbrukumam ir nepieciešama tikai tīmekļa pārlūkprogramma, un zemākais ir uzlabotas programmēšanas un rīki.
- Nosakāmība -
Cik viegli ir atklāt draudus? Augstākā ir informācija, kas tiek parādīta vietrādī URL, veidlapā vai kļūdas ziņojumā, un zemākā ir avota kods.
- Trieciens vai bojājums -
Cik liels kaitējums tiks nodarīts, ja tiks atklāta vai uzbrūk drošības ievainojamībai? Augstākā ir pilnīga sistēmas avārija un zemākā - vispār nekas.
OWASP Top 10 galvenais mērķis ir izglītot izstrādātājus, dizainerus, vadītājus, arhitektus un organizācijas par vissvarīgākajām drošības ievainojamībām.
10 visaugstākās drošības ievainojamības saskaņā ar OWASP Top 10 ir:
- SQL injekcija
- Starp vietņu skriptu izveidošana
- Salauzta autentifikācija un sesiju pārvaldība
- Nedrošas tiešās objektu atsauces
- Vairāku vietņu pieprasījums par viltojumu
- Drošības nepareiza konfigurēšana
- Nedroša kriptogrāfiskā krātuve
- Nespēja ierobežot piekļuvi vietnei URL
- Nepietiekama transporta slāņa aizsardzība
- Neapstiprināti novirzīšana un pārsūtīšana
SQL injekcija
Apraksts
Injicēšana ir drošības ievainojamība, kas ļauj uzbrucējam mainīt SQL aizmugures aizmuguri, manipulējot ar lietotāja sniegtajiem datiem.
Injicēšana notiek, kad lietotāja ievade tiek nosūtīta tulkotājam kā komandas vai vaicājuma sastāvdaļa, un maldina tulku izpildīt neparedzētas komandas un dod piekļuvi neatļautiem datiem.
SQL komanda, kas, izpildot tīmekļa lietojumprogrammu, var arī atklāt aizmugures datu bāzi.
Ietekme
- Uzbrucējs var injicēt ļaunprātīgu saturu neaizsargātajos laukos.
- No datu bāzes var nolasīt tādus sensitīvus datus kā lietotāju vārdi, paroles utt.
- Datu bāzes datus var modificēt (ievietot / atjaunināt / dzēst).
- Administrācijas darbības var veikt datu bāzē
Neaizsargātie objekti
- Ievades lauki
- URL, kas mijiedarbojas ar datu bāzi.
Piemēri:
- SQL injekcija pieteikšanās lapā
Pieteikšanās lietojumprogrammā bez derīgiem akreditācijas datiem.
Derīgs lietotāja vārds ir pieejams, un parole nav pieejama.
Testa URL: http://demo.testfire.net/default.aspx
Lietotājvārds: sjones
Parole: 1 = 1 vai pass123
SQL vaicājums izveidots un nosūtīts tulkotājam, kā norādīts zemāk
ATLASIET * no lietotājiem WHERE User_Name = sjones UN Password = 1 = 1 'vai pass123;
Ieteikumi
- Baltais saraksts ar ievades laukiem
- Izvairieties no detalizētu kļūdu ziņojumu parādīšanas, kas ir noderīgi uzbrucējam.
Starp vietņu skriptu izveidošana
Apraksts
Starpvietu skriptu izveidošana īslaicīgi ir pazīstama arī kā XSS.
XSS ievainojamības mērķa skripti ir iegulti lapā, kas tiek izpildīti klienta pusē, ti, lietotāja pārlūkprogrammā, nevis servera pusē. Šie trūkumi var rasties, ja lietojumprogramma ņem neuzticamus datus un nosūta tos tīmekļa pārlūkprogrammai bez pienācīgas validācijas.
Uzbrucēji var izmantot XSS, lai izpildītu ļaunprātīgus skriptus lietotājiem, šajā gadījumā upuru pārlūkprogrammās. Tā kā pārlūkprogramma nevar zināt, vai skripts ir uzticams vai ne, skripts tiks izpildīts, un uzbrucējs var nolaupīt sesijas sīkfailus, apmānīt vietnes vai novirzīt lietotāju uz nevēlamām un ļaunprātīgām vietnēm.
XSS ir uzbrukums, kas ļauj uzbrucējam izpildīt skriptus upura pārlūkprogrammā.
Ietekme:
- Izmantojot šo drošības ievainojamību, uzbrucējs var ievadīt lietojumprogrammā skriptus, var nozagt sesijas sīkfailus, iznīcināt vietnes un palaist ļaunprātīgu programmatūru upura mašīnās.
Neaizsargātie objekti
- Ievades lauki
- URL
Piemēri
1. http://www.vulnerablesite.com/home?"