{"id":2517,"date":"2021-02-03T12:46:28","date_gmt":"2021-02-03T11:46:28","guid":{"rendered":"http:\/\/www.adm-adria.si\/?p=2517"},"modified":"2021-09-29T13:17:23","modified_gmt":"2021-09-29T11:17:23","slug":"pogoste-ranljivosti-pri-spletnih-aplikacijah","status":"publish","type":"post","link":"https:\/\/adm-adria.si\/en\/2021\/02\/pogoste-ranljivosti-pri-spletnih-aplikacijah\/","title":{"rendered":"Pogoste ranljivosti pri spletnih aplikacijah"},"content":{"rendered":"<p>\u010ceprav ve\u010dina ljudi misli, da so danes spletne aplikacije bolj varne kot neko\u010d, je resnica veliko manj optimisti\u010dna. Aplikacije, ki so za\u0161\u010ditene s pregledovalnikom ranljivosti, so vse bolj varne. Nasprotno velja za aplikacije, ki niso za\u0161\u010ditene, te imajo veliko ve\u010d ranljivosti.<\/p>\n<blockquote><p><strong>Kaj je ranljivost?<br \/>\n<\/strong><span style=\"font-size: 14px;\">Ranljivost je napaka v aplikaciji ali napravi, ki jo lahko zlonamerni hekerji izkoristijo za dosego cilja, kot je kraja ob\u010dutljivih informacij, ogrozitev sistema tako, da postane nedosegljiv, ali po\u0161kodujejo podatke. Ranljivosti vrstimo glede na njihovo resnost: visoka, srednja, nizka.<\/span><\/p><\/blockquote>\n<p>Poglejmo si nekaj ranljivosti, ki se kljub dolgoro\u010dnemu obstoju \u0161e vedno pojavljajo pri spletnih aplikacijah.<\/p>\n<blockquote><p><strong>SQL Injection (SQLi) in Blind SQL Injection<\/strong><\/p><\/blockquote>\n<p>SQL Injection ali vrinjenje SQL stavkov je mo\u017eno, \u010de razvijalec ne preverja uporabni\u0161kih vnosov. Posledi\u010dno lahko napadalci preko nepreverjenih vnosnih polj vrinejo SQL poizvedbeni stavek, ki se nato izvede na bazi podatkov. Tak\u0161na poizvedba lahko razkrije, doda, spremeni ali izbri\u0161e tako zapise kot tudi celotne tabele podatkov.<\/p>\n<p>Blind SQL Injection je bolj zapletena razli\u010dica SQLi. Napadalci ga uporabljajo, kadar tradicionalni SQLi ni mogo\u010d. Slepe SQL injekcije zahtevajo veliko \u010dasa in veliko \u0161tevilo zahtev. Skrbnik sistema lahko napad opazi tako, da z uporabo preprostih orodij za nadzor dnevnikov preveri veliko \u0161tevilo zahtev.<\/p>\n<p>Kljub temu da se je SQL vrinjenje prvi\u010d pojavilo v 90ih letih in dandanes vsa glavna razvojna okolja vklju\u010dujejo orodja za njegovo odpravo, se ranljivost \u0161e vedno pogosto pojavlja.<\/p>\n<p><a href=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/sqli.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2975\" src=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/sqli.jpg\" alt=\"SQL Injection (SQLi) in Blind SQL Injection\" width=\"501\" height=\"418\" srcset=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/sqli.jpg 501w, https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/sqli-300x250.jpg 300w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/a><\/p>\n<blockquote><p><strong>Cross-site Scripting (XSS)<\/strong><\/p><\/blockquote>\n<p>XSS napad se zgodi, ko napadalec vrine zlonamerno skripto na spletno stran, obi\u010dajno JavaScript. Interaktivne spletne aplikacije morajo izvajati skripte v lokalnem brskalniku, kar omogo\u010da \u00bbcross-site\u00ab &#8211; medsebojno skriptiranje.<\/p>\n<p>Tovrstna ranljivost je mo\u017ena, \u010de razvijalec na spletni aplikaciji ne preverja uporabni\u0161kih vnosov. \u010ce uporabnik vklju\u010di JavaScript kodo v vnosni obrazec in spletna aplikacija ta vnos uporabi neposredno na strani, to zagotavlja ranljivost XSS.<\/p>\n<p>Za boj proti tem napadom lahko uporabite CSP (Content Security Policy), vendar ta funkcionalnost \u0161e vedno ni dovolj priljubljena med spletnimi razvijalci.<\/p>\n<figure id=\"attachment_2976\" aria-describedby=\"caption-attachment-2976\" style=\"width: 561px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/xss.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2976\" src=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/xss.jpg\" alt=\"Cross-site Scripting (XSS)\" width=\"561\" height=\"425\" srcset=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/xss.jpg 561w, https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/xss-300x227.jpg 300w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/a><figcaption id=\"caption-attachment-2976\" class=\"wp-caption-text\">25% pregledanih spletnih mest je bilo ranljivih za nekatere vrste XSS. (Acunetix, 2020)<\/figcaption><\/figure>\n<blockquote><p><strong>Ranljive JavaSkript knji\u017enice<\/strong><\/p><\/blockquote>\n<p>JavaScript knji\u017enice omogo\u010dajo hitrej\u0161i in enostavnej\u0161i razvoj spletnih aplikacij, vendar so nekatere verzije knji\u017enic lahko ranljive.<\/p>\n<figure id=\"attachment_2978\" aria-describedby=\"caption-attachment-2978\" style=\"width: 693px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/jslib.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2978\" src=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/jslib.jpg\" alt=\"Ranljive JavaSkript knji\u017enice\" width=\"693\" height=\"444\" srcset=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/jslib.jpg 693w, https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/jslib-300x192.jpg 300w\" sizes=\"auto, (max-width: 693px) 100vw, 693px\" \/><\/a><figcaption id=\"caption-attachment-2978\" class=\"wp-caption-text\">24% pregledanih spletnih mest uporablja JavaScript knji\u017enice z znanimi ranljivostmi XSS. (Acunetix, 2020)<\/figcaption><\/figure>\n<blockquote><p><strong>Cross-site Request Forgery (ponarejeni zahtevki)<\/strong><\/p><\/blockquote>\n<p>Ranljivost se pojavi, ko spletni stre\u017enik prejme nepoobla\u0161\u010deno zahtevo s strani znanega brskalnika. Zahteve, ki jih brskalnik po\u0161lje stre\u017eniku lahko vklju\u010dujejo uporabni\u0161ke pi\u0161kotke seje \u2013 to se zgodi skoraj vedno, ko je uporabnik \u017ee prijavljen na spletno mesto.<\/p>\n<p>Napadalec lahko ustvari zlonamerno povezavo, ki mu omogo\u010di izvedbo dolo\u010denega dejanja, na primer prenos finan\u010dnih sredstev z uporabnikovega ban\u010dnega ra\u010duna na drug ra\u010dun. Napadalec lahko to povezavo postavi na spletno mesto in prepri\u010da uporabnika, da klikne to povezavo (socialni in\u017eeniring). Ko uporabnik klikne povezavo, se zahteva po\u0161lje stre\u017eniku in ker je uporabnik \u017ee prijavljen, stre\u017enik izvede dejanje z njegovim ra\u010dunom.<\/p>\n<p>CSRF ranljivost je prepogosto spregledana, glede na to da so lahko posledice zlorabe uni\u010dujo\u010de. Neustrezna za\u0161\u010dita lahko vodi v krajo podatkov, gesel ali celo neza\u017eelen prenos <strong>finan\u010dnih sredstev<\/strong>.<\/p>\n<figure id=\"attachment_2979\" aria-describedby=\"caption-attachment-2979\" style=\"width: 472px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/crf.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2979\" src=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/crf.jpg\" alt=\"Cross-site Request Forgery (ponarejeni zahtevki)\" width=\"472\" height=\"420\" srcset=\"https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/crf.jpg 472w, https:\/\/adm-adria.si\/wp-content\/uploads\/2021\/02\/crf-300x267.jpg 300w\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" \/><\/a><figcaption id=\"caption-attachment-2979\" class=\"wp-caption-text\">36% pregledanih spletnih mest ni odpornih na CSRF ranljivost (Acunetix, 2020)<\/figcaption><\/figure>\n<blockquote><p><strong>\u0160ibka gesla in manjkajo\u010da za\u0161\u010dita proti Brute-Force napadom<\/strong><\/p><\/blockquote>\n<p>\u0160ibka gesla so po navadi kratke in pogoste besede ali privzete vrednosti. Napadalec lahko zlahka ugane tak\u0161no geslo, ko naleti na poziv za prijavo. V nekaterih primerih lahko z \u00bbdictionary\u00ab napadom ugane \u0161ibko geslo, v drugih primerih pa so \u0161ibka gesla preprosto privzete kombinacije uporabni\u0161kega imena in gesla, kot sta admin\/admin ali admin\/geslo.<\/p>\n<p>Veliko \u0161tevilo napadov se za\u010dne pri \u0161ibkih geslih, okoli 28% spletnih aplikacij pa ne vsebuje za\u0161\u010dite pred \u00bbBrute-force\u00ab napadi. To pomeni, da lahko napadalec neskon\u010dnokrat ugiba prijavno kombinacijo.<\/p>\n<blockquote><p><strong>Se \u017eelite prepri\u010dati, \u010de je va\u0161e spletno mesto varno?<br \/>\n<\/strong><span style=\"font-size: 14px;\">Sporo\u010dite svojo \u017eeljo na info@adm-adria.eu ali telefon 059 251 955 in z veseljem vam bomo pomagali in svetovali.<\/span><\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>\u010ceprav ve\u010dina ljudi misli, da so danes spletne aplikacije bolj varne kot neko\u010d, je resnica veliko manj optimisti\u010dna. Aplikacije, ki so za\u0161\u010ditene s pregledovalnikom ranljivosti, so vse bolj varne. Nasprotno velja za aplikacije, ki niso za\u0161\u010ditene, te imajo veliko ve\u010d ranljivosti. Kaj je ranljivost? Ranljivost je napaka v aplikaciji ali napravi, ki jo lahko zlonamerni [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2974,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novice"],"_links":{"self":[{"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/posts\/2517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/comments?post=2517"}],"version-history":[{"count":2,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/posts\/2517\/revisions"}],"predecessor-version":[{"id":2980,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/posts\/2517\/revisions\/2980"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/media\/2974"}],"wp:attachment":[{"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/media?parent=2517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/categories?post=2517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adm-adria.si\/en\/wp-json\/wp\/v2\/tags?post=2517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}