Slobodan Djordjevic

Embed Size (px)

Citation preview

  • 7/31/2019 Slobodan Djordjevic

    1/21

    VISOKA POSLOVNA KOLA STRUKOVNIH STUDIJA

    BLACE

    Seminarski radSIGURNOST WEB APLIKACIJA

    Predmet: Bezbednost u raunarskim mreama

    Profesor: Student:

    Aleksanar Zaki Slobodan orevi

    Blace, 2012.godine

  • 7/31/2019 Slobodan Djordjevic

    2/21

    SadrajSadraj........................................................................................................................ 2

    UVOD .......................................................................................................................... 3

    Napadi vezani za autentifikaciju .................................................................................. 4

    Brute force napadi................................................................................................... 4

    Nedovoljni nivo autentifikacije ................................................................................. 5

    Nedovoljna zatita korisnikove lozinke ..................................................................... 5

    Napadi vezani za autorizaciju ...................................................................................... 5

    Nagaanje identifikacionog broja ............................................................................. 6

    Nedovoljna autorizacija ........................................................................................... 7

    Nedovoljna kontrola trajanja korienja usluge ........................................................ 7

    Fiksacija usluge ........................................................................................................ 7

    Napadi na klijentsku stranu ......................................................................................... 8Ubacivanje nepostojeeg sadraja (Content spoofing) ..............................................8

    Izvranje napadakog koda (Cross-site scripting) ...................................................10

    Napadi vezani za izvravanje naredbi........................................................................ 11

    Buffer overflow napadi........................................................................................... 11

    Format string napadi.............................................................................................. 11

    OS commanding ..................................................................................................... 12

    SQL injection .......................................................................................................... 13

    LDAP i XPath injection ............................................................................................ 14

    Otkrivanje poverljivih informacija .............................................................................. 14

    Rasipanje informacija ............................................................................................. 14

    Izlistavanje mapa (engl. Directory indexing) ........................................................... 14

    Otkrivanje preica .................................................................................................. 15

    Predvianje lokacija resursa ................................................................................... 15

    Logiki napadi........................................................................................................... 16

    Zloupotreba funkcionalnosti................................................................................... 16

    DoS napadi............................................................................................................ 17

    Napadi automatizovanim procesima ...................................................................... 17Naruavanje kontorole procesa .............................................................................. 17

    Cross Site Request Forgery (CSRF) napad ................................................................. 18

    Organizacije i alati za sigurnost web aplikacija .......................................................... 19

    Zakljuak .................................................................................................................. 20

    Literatura .................................................................................................................. 20

    2

  • 7/31/2019 Slobodan Djordjevic

    3/21

    UVOD

    U dananje vreme internet, a samim tim i Web aplikacije postale su najdominantnija i

    najisplatljivija tehnologija koja se koristi za obavljanje mnogih, raznih poslova na internetu. Nekeod web aplikacija jesu: pretraivai, Web-mail aplikacije, aplikacije za kupovinu, razliiti portaliza pomo pri uenju (kao to je na moodle) i td. Veliku popularnost donela im je osobina daomoguuju korisnicima razmenu i izmenu informacija nezavisno od platforme kroz infrakstrukturuinterneta. Na osnovu istraivanja i objavljenih rezultata od strane ITU-a (meunarodnetelekomunikacione unije) 2010. godine, internet broji vie od dve milijarde korisnika. Upravo zbogsvoje rairenosti i koristi internet a samim tim i web aplikacije postale su sigurnosne kritine takeu komunikaciji izmeu klijenata i servera.

    Znamo da danas mnoge web aplikacije zahtevaju unos naih linih podataka, registraciju, azatim i prijavljivanje na sistem da bi se pristupilo i koristila aplikacija. Ti podaci su najee mail

    adresa, ifre, brojevi rauna, adresa, telefona, a to moe dovesti do naruavanja sigurnostikorisnika aplikacije. Napredovanjem tehnologije, pronalaze se naini da se ti podaci saznaju i timenarui sigurnost korisnika i sistema, a samim tim i izvri kraa podataka, novca sa bankovnihrauna i raznih drugih koristi. Omoguavanjem sve vie funkcionalnosti omoguavaju se i sve vienaina da se izvri napad na korisnika.

    Budui da se sve vie aktivnosti seli na internet, to zahteva da se koriste baze podataka,veliki broj servera koji su u stalnoj interakciji kako meusobno tako i sa bazam podataka. Ovodonosi jo problema u zatiti web aplikacija i klijenata. Kako bi se aplikacije i korisnici zatitilipotrebano je istraiti slabosti web aplikacija, identifikovati kritine take, a zatim nakon stvaranjaklasa potencijalnih napada ponuditi i reenje, tj. zatitu, a da se pritom ne smanji kvalitet i koliinauslige. Klju zatite je u proveru unosa i smisla svega to moe dovesti do naruavanja korisnika iaplikacije.

    Napadi se mogu razvrstati u sledee klase:

    Napadi vezani za autentifikaciju

    Napadi vezani za autorizaciju

    Napadi na klijentsku stranu

    Napadi vezani za izvravanje naredbi

    Otkrivanje poverljivih informacija

    Logiki napadi

    U nastavku sledi analiza ovih klasa napada i naini za njihovo spreavanje i odbranu.

    3

  • 7/31/2019 Slobodan Djordjevic

    4/21

    Napadi vezani za autentifikaciju

    Autentifikacija je proces kojim se proverava identitet korisnika web aplikacije. Sprovodi se

    na osnovu mehanizama: neeg to ima, neeg to zna i onoga to jesi. Postoje tri tipanapadakih tehnika kojima se moe zaobii i naruiti autentifikacioni proces:

    Brute force napadi

    Nedovoljni nivo autentifikacije

    Nedovoljna zatita korisnikove lozinke

    Brute force napadi

    Brute force napadi predstavljaju proces koji koristi metodu pogaanja i promaaja kako biotkrio korisniko ime, ifru, kriptografski klju, broj kreditne kartice... Ova vrsta napada je vrloesta i uspena. Ovakav napad moe trajati od nekoliko minuta do nekoliko godina!

    Mnoge aplikacije omoguavaju korisnicima da za registrovanje na sistem unesu kratkeifre, koje nisu dovoljno bezbedne, a esto korisnici unose ifre koje se lako pamte i koje se mogunai kao rei u reniku. Znajui to napadai su razvili alatHidra, koji se upravo sadri renik kojisadri dosta rei, potencijalne poznate koje bi korisnici mogli da koriste, npr. neije ime, datumnekog dogaaja itd. Kada se formira renikHidri se zadaje put do odreene aplikacije i i zapoinjeseBrute force napad za neko korisniko ime. Uspenost napada zavisi od veliine renika kao i odnjegovog kvaliteta, tj. sadraja.

    Na osnovu ovoga moe se izvriti podela na dve vrste Brute force napada: normalni ireverzni. NormalniBrute force napad koristi jedno korisniko ime i veliki skup lozinki. Reverzninapad koristi veliki broj korisnikih imena i jednu lozinku. On se koristi u sistemima koji imajuveoma mnogo korisnika pa su samim tim i anse da dva korisnika imaju istu ifru mnogo vee.

    Najbolja zatita od ove vrste napada jeste da jedan isti klijent na razliitim sistemimakoristi razliite ifre, pi emu se preporuuje to vea duina ifara iskombinovana od znakova,slova i brojeva, to ifri daje jo veu sigurnost.

    4

  • 7/31/2019 Slobodan Djordjevic

    5/21

    Nedovoljni nivo autentifikacije

    Nedovoljni nivo autentifikacije omoguava potencijalnom napadau da pristupipoverljivom sadraju ili funkcionalnosti, a da se pritom nije propisno autentifikovao. Da do ovoga

    ne bi dolo potrebno je ograniiti pristup osetljivom sadraju i svim funkcijama koje ne bi trebalopredstaviti korisnicima koji se nisu autentifikovali.

    Mnoge web aplikacije su zatiene tako to se njeni resursi tite skrivanjem lokacija, tj.puta do njih (URL). Iako tada napada ne zna o kojim resursima se radi on moe direktno pristupitiresursima korienjem URL-a koji je prethodno naao nagaanjem uz pomo Brute force napadakojima se mogu pronai lokacije mapa i datoteka, poruka s grekama i administratorskih zapisa(engl. logs). Ove resurse je potrebno dodatno zatititi dozvolama ili nekim drugim metodama kakose ne bi zloupotrebili. Kao primer ove vrste napada moe se navesti web aplikacija koja posedujeadministratorsku mapu/admin/direktno unutar osnovne mape aplikacije (root). Iako ova mapa nijepovezana ni sa jednim dokumentom web aplikacije (nema link) koji se daje korsiniku, korisnik

    moe direktno pirstupiti toj mapi preko itaa, runim unoenjem njenog naziva ukoliko nijedodatno zatiena dozvolama pristupa. Ove greke su este kod administratora poetnika.

    Nedovoljna zatita korisnikove lozinke

    Nedovoljnom zatitom korisnikove lozinke omoguava se napadau da ilegalno dobije,promeni ili obnovi lozinku drugog korisnika.

    Proces autentifikacije odreene web aplikacije zahteva od korisnika pamenje lozinke.Kako prolazi vreme a i ukoliko korisnik ima vie korisnikih rauna moe dovesti do toga dakorisnik zaboravi svoju ifru pa pristupa procesu za obnovu lozinke. Ovaj proces uglavnom koristiprincip tajnog pitanja (engl.secret question), koje korisnik definie prilikom registracije rauna.

    Odgovorom na ovo pitanje korisnik moe obnoviti lozinku.Najvei problem procesa za obnovu lozinke je mogunost prevare samog procesa od strane

    napadaa. To se ostvaruje ako su kada su informacije potrebne za proveru korisnikog identitetalako dostupne ili se lako mogu naslutiti. Ovi sistemi se mogu prevariti korienjem Brute forcenapada a i tajnim pitanjima koja se mogu naslutiti. Na primer, ukoliko napada zahteva obnovulozinke sa odreenim korisnikim imenom i tajno pitanje je U kom gradu si roen?, korienjemBrute force alata, u ijem reniku su zapisani gradovi moe se sa velikom verovatnoom pogodititaan odgovor, odnosno prevariti sistem i saznati korisnikovu lozinku. Dodatna zatita od ovakvihnapada jeste izbor tajnog pitanja takvog da nije jednostavan odgovor na njega, tj. da je odgovor to

    liniji, poznat malom broju ljudi.

    Napadi vezani za autorizaciju

    Autorizacija je proces kojim se utvruje nivo privilegija korisnika, tj. da li odreenikorisnik ima potrebna doputenja za izvoenje odreene radnje. Postoje etiri tipa napada vezanaza autorizaciju:

    Nagaanje identifikacionog broja

    5

  • 7/31/2019 Slobodan Djordjevic

    6/21

    Nedovoljna autorizacija

    Nedovoljna kontrola trajanja korienja usluge

    Fiksacija usluge

    Nagaanje identifikacionog broja

    Za razmenu informacija izmeu korisnika i aplikacije koristi se HTTP, koji spada u grupuprotokola bez stanja. To znai da web ita ne pamti nikakve informacije o klijentu, odnosno svakiput e delovati kao da korisnik prvi put pristupa aplikaciji i traie ponovo unos podataka odkorisnika neophodnih za pristup aplikaciji. Da bi se to spreilo uvodi se Session ID identifikacioni broj za svakog klijenta od strane aplikacija. Tehnoloki sinonim za SessionID jeCookie. Predstavlja znakovni niz, uva u memoriji itaa i ima odreeni ivotni vek.

    Upravo ovo napadai koriste za napade, nagaaju identifikacioni broj kako bi oteliidentitet drugog korisnika i iskoristili ga razne radnje.

    Primer za ovu vrstu napada su web aplikacije koje generiu SessionID predvidljivim ijednostavnim algortmima, pogotovo ako za to koristi algoritam za inkrementiranje SessionID-a.Ako napada odredi algoritam kojim se generiu identifikacioni brojevi moe izvesti napad nasledei nain prikazan na slici 1.

    Sa slike se vidi da napada pristupa aplikaciji koja mu vraa njegov SessionID 1000. Poto

    se radi o inkrementirajuem algoritmu za dodeljivanje identifikacionih brojeva, i ukoliko napadato zna on moe jednostavno izraunati vrednost narednog SessionID-a. Zatim imeni svojSessionID unutarCookie-a ili URL-a na vrednost 1001 i upuuje zahteve web aplikacijisve dok sene prijavi naredni korisnik. Kada se on prijavi napada moe koristiti sve njegove privilegije uzpomo izraunatog SessionID-a. Najbolja zatita od ove vrste napada jeste da se za generisanjeidentifikacionih brojeva koriste sloeniji algoritmi koji se ne mogu lako provaliti.

    6

    Slika 1 Nagaanje SessionID-a

  • 7/31/2019 Slobodan Djordjevic

    7/21

    Nedovoljna autorizacija

    Ukoliko administrator ne izvri dovoljnu autorizaciju, web aplikacija omoguava napadaupristup sadrajima i funkcionalnostima koje bi trebale biti zatiene veim nivoom sigurnosti.Autentifikacijom ograniavamo prava pristupa korisnicima. Postoje resursi koje je potrebnododatno zatititi, npr. resursi namenjeni samo administratorima.

    Npr. ukoliko su administratorski podaci skriveni u mapama/admin/i/logs/a njima mogupristupiti svi korisnici, usled ovakve nedovoljne autorizacije, korisnik moe iskoristiti te podatke ipreduzeti razne neeljene radnje, npr. rekonfiguracija server-a.

    Nedovoljna kontrola trajanja korienja usluge

    Nedovoljnom kontrolom trajanja korienja usluge, web aplikacija omoguava napadaukorienje starih identifikacionih brojeva za autorizaciju. Kako bi se spreio viekorisniki pristupistom korisnikom raunu svaki SessionID se mora tajno sauvati. Ukoliko se ne kontrolie ivotnivek identifikacionh brojeva poveava se rizik od napada. Npr. napada moe prislukivati mreu ipreuzeti pakete koji sadre SessionID. Skraivanjem ivotnog veka ne moe se spreiti upotrebaSessionID-a koji je skoro ukraden, ali e se spreiti uzastopno i trajno korienje ukradenogidentifikacionog broja. Dui ivotni vekSessionID-a ima tu prednost da se smanjuje broj potrebnihkorisnikih prijava na sistem, ali isto tako sa druge strane poveava napadaevu ansu da sazna iliizrauna taan SessionID.

    Ovakav napad moe se lako sprovesti u sluajevima kada vie korisnika koriste isti raunar(internet caffe, terminal na fakultetu...). Ukoliko se prethodni korisnik ne odloguje sa svog profila,tada postoji mogunost da naredni korisnik raunara moi koristei back gump web itaa ili prekoHistory-ja pristupiti stranicama kojima je pristupao prethodni korisnik, a za koje bi mu inaetrebala autentifikacija i autorizacija.

    Fiksacija usluge

    Fiksacijom usluge napada moe dodeliti koriniku fiksirani SessionID i kasnije gaiskoristiti za autorizaciju.

    Postoji mnogo tehnika za izvoenje ove vrste napada, tj. za fiksaciju identifikacionog brojana odreenu vrednost. Najee su Cross-site scripting napadi i posebno prilagoeni HTTPzahtevi. Cilj ove tehnike jeste da nakon to napada postavi fiksni SessionID on eka da sekorisnik uloguje sa podvaljenim SessionID-em a nakon toga napada koristi taj ID i pridobivakorisnikov identitet i koristi njegove privilegije.

    Bez aktivne zatite od fiksacije napad se moe izvesti nad svim web aplikacijama koje

    identifikuju korisnike preko SessionID-a. Web aplikacije koje koriste SessionID oslanjaju senajee na Cookie,prema kojima je danas usmerena veina napada.Sledei primer opisuje fiksaciju usluge. Slika 2. prikazuje web server

    online.worldbank.com na kom je postavljena bankovna web aplikacija usmerena premakorisnicima. Session ID-evi se prosleuju korisnicima koristei URL argumentsessionid.

    7

  • 7/31/2019 Slobodan Djordjevic

    8/21

    U prvom koraku napada, koji je takoe legitimni lan ove banke loguje se na sistem i dobijaSessionID 1234 (2).Zatim (3) napada alje posebno skrojeni link http://online.worldbank.dom/login.jsp?sessionid=1234 korisniku uveravajui ga da ta uslugapotie upravo sa bankovne aplikacije. Ukoliko korisnik pritisne na ovaj link (4) on e prei nastranu za logovanje i upisati svoje podatke za pristup sistemu (5). Poto je ovaj SessionID vedodeljen sistem nee dodeliti novi ve e taj korisnik pristupiti sistemu sa fiksiranim SessionID-em1234. Kako napada takoe zna ovaj identifikacioni broj i on moe pristupiti korisnikovom raunu(6) i time preuzeti njegova prava i identitet.

    Napadi na klijentsku stranu

    Ovi napadi su orijentisani prema korisnicima aplikacija. Kada korisnik pristupi nekogaplikaciji on ne oekuje nikakve napade a oekuje da od aplikacije dobije ispravne informacije isadraj. Meutim mnogo napadakih tehnika mogu ugroziti odnos izmeu aplikacije i korisnika.Neke od njih su:

    Ubacivanje nepostojeeg sadraja (engl. Content spoofing)

    Izvravanje napadakog koda (engl. Cross-site-scripting)

    Ubacivanje nepostojeeg sadraja (Content spoofing)

    Ubacivanje nepostojeeg sadraja predstavlja vrstu napada kojom napada eli uveritikorisnika da je sadraj ispravan i da ne potie sa nekog drugog izvora van aplikacije koju korisnikkoristi. Najee je ovakav napad usmeren ka web aplikacijama koje dinamiki generiu URL-oveprema svom HTML sadraju.

    8

    Slika 2 Fiksacija usluge

    http://online.worldbank.dom/login.jsp?sessionid=1234http://online.worldbank.dom/login.jsp?sessionid=1234
  • 7/31/2019 Slobodan Djordjevic

    9/21

    Na primer, korisnik eli da pristupi nekoj web aplikaciji putem linkahttp://www.fer.hr/page?frame_src=http://www.fer.hr/file.html. Napada moe izmenom sadrajaHTML dokumenta promeniti izvorframe_src parametra u frame_src=http://napad.rs/file.html iumetnuti svoj sadraj u file.htmli proslediti ovako skrojeni link korisniku npr. putem e-mail-a ilislanjem linka na forum. Korisnik poseuje ovu stranicu, vidi domenhttp://www.fer.hru web itau

    i uveren je da je sadraj sa njegove eljene lokacije, meutim taj sadraj potie sa napadaevogizvora.

    Ova napadaka tehnika se najee koristiti za stvaranje lanih Web stranica za prijavukorisnika, gde se na relativno jednostavan nain moe ukrasti korisnikov identitet. Da bi sekorisnik zatitio od ovakvih napada mora biti obazriv i za sumnjive sadraje proveriti URL.

    9

    http://www.fer.hr/page?frame_src=http://www.fer.hr/file.htmlhttp://www.fer.hr/http://www.fer.hr/http://www.fer.hr/http://www.fer.hr/page?frame_src=http://www.fer.hr/file.htmlhttp://www.fer.hr/
  • 7/31/2019 Slobodan Djordjevic

    10/21

    Izvranje napadakog koda (Cross-site scripting)

    Cross-site scripting (XSS) je napadaka tehnika koja prisiljava web aplikaciju da prosledinapadaki izvrni kod korisniku, koji se zatim uitava u korisnikovom web itau i izvrava.

    Obino je napisan korienjem nekog od navedenih jezika: JavaScript skriptnog jezika, ActiveX,Java, Flash. Ovaj napadaki kod moe itati, menjati ili proslediti osetljive podatke date naraspoloaganje web itau. Na ovaj nain se mogu ukrasti korisniki rauni (Cookie),preusmeravanje web itaa na neke druge lokacije ili prosleivanje tetnog sadraja od strane webaplikacije. DakleXSSnapadi takoe ugroavaju i poverljivi odnos korisnika i web aplikacije.

    Postoje dve vrste ovih napada: privremeni i trajni. Privremeni (engl. non-persistent) napadinavode korisnika da poseuje posebno skrojene linkove koji su povezani sa tetnim kodom. Kadakorisnik poseti link, on aktivira tetnu skriptu koja je smetena unutar URL-a. Da bi se spreioovaj napad korisnici moraju obazrivije koristiti linkove i proveravati URL. Meutim, napadaiesto i konvertuju kod koristei Hex kodiranje kako bi prikrili trag skripti u URL-u i zavarali

    korisnika. Trajni (engl. persistent) napadi se deavaju kada je kod smeten unutar same webaplikacije neko odreeno vreme. Te aplikacije su: portali, web-mail ili web chat aplikacije. Da bise aktivira ovakav napad dovoljno je da korisnik jednostavno pregleda sadraj web stranice satetnim kodom.

    XSS ranjivost se moe proveriti na jednostavan nain, unosom skriptealert(XSS) u URL ili poruke unutar foruma. Ukoliko web ita reaguje pop-upprozorom s alert-om znai da je ta aplikacija ranjiva na XSS. Pomou ovih skripti lako se moeukrasti Cookie.

    Primer2

    Napada unosi zlonamernu beleku u poruci foruma...Prodajem smart phone upola cene!!!

    Prijavljeni korisnik klikne na zlonameran link:Prodajem smart phone upola cene!!!

    Date: 2011-12-14-10:00

    Zlonamerni link vodi na skriptu koja zapisuje kolai (cookie)

    Napada stvara kolai na temelju zapisa i prijavljuje se u sistem kao legitimnikorisnik

    Ovo je jedna od eih napadakih tehnika. Moe se spreiti onemoguavanjem skriptikada one nisu potrebne, filtriranjem korisnikih zahteva (provera postojanja skripte unutarzahteva), kodiranjem generisanih stranica kako bi se onemoguilo nenamerno izvravanje skripti.

    10

  • 7/31/2019 Slobodan Djordjevic

    11/21

    Napadi vezani za izvravanje naredbi

    Za izrenje ovoh napada se koriste korisniki zahtevi putem kojih se mogu uneti raznetetne naredbe po web aplikaciju. Ako se korisniki podaci loe ukomponuju unutar sadraja webaplikacije, tada potencijalni napada moe izmeniti ili podstaknuti izvoenje tetnih naredbi.Postoje pet vrste napada vezane za izvravanje naredbi:

    Buffer overflow napadi

    Format stringnapadi

    OS commanding

    SQL injection

    LDAP i XPath injection

    Buffer overflow napadiOvi napadi menjaju ili onemoguuju izvrenje aplikacionih procesa prebrisavanjem

    odreenih delova memorije, to dovodi do greke unutar programa. Ova greka nastupa kadapodatak upisan u memoriju pree alociranu veliinu memorije. Poto je dolo do prelivanjasusedne memorijske adrese su prebrisane i uzrokuju kvar programa. Ukoliko se pomou ovetehnike promene adrese pokazivaa steka ili vrednosti programskih promenljivih moe sepromeniti tok izvoenja same aplikacije ime se uzrokuju neeljene akcije.

    Buffer overflow napadi su se najee koristili za ruenje web itaa, a vrlo retko za webaplikacije iz razloga to je napada morao detaljno analizirati izvorni kod same aplikacije da biotkrio ranjivosti. Ovi napadi se najee javljaju u CGI aplikacijama, pisanim C ili C++

    programskim jezikom.

    Format stringnapadi

    Ovi napadi menjaju programski tok aplikacije koristei razliite oblike formatirajuihnaredbi kako bi dobili pristup odreenom memorijskom prostoru. Najee nastaju zbog lenjostisamih programera, koji prilikom pisanja izvornog koda aplikacije ne koriste ispravne oblikeformatirajuih naredbi.

    Primer je korienje formata naredbe printf(string) umesto printf(%s, string).Programmer je hteo da ispie odreeni znakovni niz string, ali nije vodio rauna o tome kako e setaj znakovni niz interpretirati. Upravo zbog ovog skraenog oblika koji je iskoristio niz e se

    interpretirati kao formatirajui znakovni niz, pretraivae se posebni formatirajui znakovi poput%d pomou kojih se moe dobiti informacija o vrednostima steka programa. Ovim propustomnapada dobija dovoljno informacija za dodatne napade.

    Najee se ovi napadi koriste za: itanje podataka sa steka (napada koristi konverzioniznak %x unutar printf naredbe i kao rezultat dobija vrednosti steka), itanje znakovnih nizova(ukoliko se rezultat printf naredbe vrati napadau, tada on koristei konverzijski znak %s moeitati znakovne nizove iz memorije) i pisanje celobrojnih konstanti u procesnu memoriju (ukoliko

    11

  • 7/31/2019 Slobodan Djordjevic

    12/21

  • 7/31/2019 Slobodan Djordjevic

    13/21

    SQL injection

    SQL Structured Query Language je najkorieniji programski jezik za rukovanje bazamapadataka preko izjava i upita. SQL injection je napadaka tehnika koja se koristi kako bi se

    ugrozila sigurnost web aplikacije koja konstruie SQL izjave iz korisniki uneenih podataka.Kada web aplikacije ne uspeju da saniraju korisniki uneene podatke, postoji mogunost

    da napada izmeni konstrukciju pozadinske SQL izjave. Posledica je preuzimanje kontrole nadbazom podataka i ak izvravanje naredbi nad sistemom.

    Na primer ukoliko se u polja za korisniko ime i ifru umesto username-a i password-aunesu SQL izjave:

    Korisniko ime: ' OR ''='Lozinka: ' OR ''='

    Web aplikacija za autentifikaciju sadri sledei kod za konstrukciju SQL izjava: String SQLQuery= SELECT Username FROM Users WHERE Username = +username + AND Password =

    + password + ;Nakon uneenih SQL izjava u edit polja za logovanje rezultujua SQL izjava bie: SELECTUsername FROM Users WHERE Username = '' OR''=''AND Password = '' OR ''=''; Odavde se vidi da e se umesto poreenja validnih podataka, poljaifre i korisnikog imena, uporeivati prazan string sa praznim stringom to e uvek biti tano inapada e se ovom prevarom ulogovati na sistem kao prvi korisnik u korisnikoj (Users) tablici.

    Pri razvoju Web aplikacije posebnu panju treba obratiti na detaljnost stranica s porukom ogreki kako se ne bi otkrile suvine informacije koje mogu pomoi napadau da lake sazna nekeinformacije i lake izvri napad.

    Dakle, postoje dve vrste SQL injection napada: slepi i normalni napad. Slepi napad je dosadpominjan kao runa pretraga da bi se iz detalja o greki saznali korisni podaci za napad. NormalniSQL injection napad koristi union select izjavu kao vrednost parametra pomou koga bi napadautvrdio da li moe pristupiti bazi podataka. Na primer http://example/article.asp?ID=2+union+all+select+name+from+sysobjects Uspeh ovog napada zavisi od broja kolona utraenoj tablici, pa je na napadau da odredi ispravan broj kolona (atributa). Ako to uspe odrediti,dobie uvid u bazu podataka.

    13

    http://example/article.asp?ID=2+union+all+select+name+from+sysobjectshttp://example/article.asp?ID=2+union+all+select+name+from+sysobjectshttp://example/article.asp?ID=2+union+all+select+name+from+sysobjectshttp://example/article.asp?ID=2+union+all+select+name+from+sysobjects
  • 7/31/2019 Slobodan Djordjevic

    14/21

    LDAP i XPath injection

    Ovi napadi su po smislu i nainu izvoenja slini SQL injection napadima. I ovde jekritino saniranje korisniki uneenih podataka koji se komponuju uLDAPiXPath izjave.

    Lightweight Directory Access Protocol(LDAP) je otvoreni standard za postavljanje upita imanipulaciju direktorijumima (mapama). Zasnovan je na TCP-u, a web aplikacije iz korisnikiuneenih podataka kreirajuLDAPizjave za rad s dinamikim Web stranicama.

    XPath je jezik koji se koristi kako bi se referencirali odreeni delovi XML dokumenta.Moe se koristiti direktno od strane web aplikacije kako bi se postavili upiti nad XMLdokumentom. XPath izjave su po strukuri vrlo sline SQL izjavama, pa omoguuju izdvajanjepojedinih elemenata i atributa iz XML dokumenta.

    Otkrivanje poverljivih informacija

    Otkrivanjem poverljivih informacija napada pokuava da sazna odreene sistemskepodatke o web aplikaciji. Neke od tih informacija su distribucija programske podrke, verzija,lokacije privremenih (temp) ili backup datoteka. to vie informacija napada moe da saznaopasnost od napada je vea, tako da je poeljno to manje sistemskih informacija otkrivati. U ovenapadake tehnike spadaju:

    Rasipanje informacija

    Izlistavanje mapa - direktorijuma (engl.Directory indexing)

    Otkrivanje preica

    Predvianje lokacije resursa

    Rasipanje informacija

    Neke web aplikacije otkrivaju vie informacija nego to bi trebalo i to moe dovesti dosigurnosnih propusta i putokaza za napadae. Npr. neke web aplikacije otkrivaju programerskekomentare i detaljne poruke o grekama koje mogu biti od koristi napadau. Ovakvi osetljivipodaci se mogu nau u HTML komentarima, porukama o greci, izvornom kodu ili mogujednostavno biti javno dostupni svima.

    Ovakvim podacima mogu se napadau dati informacije o strukturi mapa, strukturi SQLizjava, imena kljunih procesa korienih od strane aplikacije. U razvoju aplikacije, npr. dokprogrameri vre debugging oni ostavljaju HTML komentare i time mogu naruiti bezbenostaplikacije, pogotovo ukoliko su ti komentari neka korisnika imena i ifre namenjeni za testiranjeaplikacije.

    Broj kreditne kartice, ifre i druge bitnije podatke potrebno je dodatno zatititi enkripcijomi dodatnim kontrolama pristupa.

    Izlistavanje mapa (engl.Directory indexing)

    Ukoliko ne postoji osnovna datoteka (index.html, home.html, default.html) funkcijom wepaplikacije, automatski se izlistaju sve datoteke unutar traene datoteke (mape).

    14

  • 7/31/2019 Slobodan Djordjevic

    15/21

    Ako korisnik zahteva glavnu stranu neke web aplikacije on e npr. uneti URL:http://www.primer sa odgovarajuim domenom. Web server e procesirati njegov zahtev ipretraiti da li u osnovnom (root) direktorijumu postoji osnovna datoteka koju e poslati korisniku.Ukoliko ne postoji on e korisniku izlistati direktorijume, nalik funkciji ls u Unix-u ili dir uWindows-u.

    Unutar izlistanog direktorijuma mogu se nai i neke datoteke koje nisu namenjene javnosti,pa zbor toga web programeri esto koriste strategiju Sigurnost kroz zamraivanje (engl. Securitythrough Obscurity), pri emu pretpostavljaju da ukoliko ne postoje linkovi prema odreenimdatotekama, da se tim datotekama ne moe pristupiti, to je pogreno jer danas postoje mnogipretraivai ranjivosti koji mogu pretraiti direktorijume i datoteke unutar odeene web aplikacije.

    Dakle radi vee sigurnosti izlistavanje mapa treba dozvoliti odnosno koristiti samo kada nepostoji druga mogunost prikaza odreenih sadraja ili kada ne postoji rizik od napada.

    Otkrivanje preica

    Cilj ove napadake tehnike je pokuavanje pristupa datotekama, mapama ili naredbama

    koje nisu u osnovnom direktorijumu web aplikacije putem URL-a. Ovo se uglavnom odnosi nasisteme koji imaju HTML interfejs ka korisnicima.

    Uglavnom je korisnicima dozvoljen pristup samo odreenim delovima sistema, web rootmapi odnosno osnovnoj mapi aplikacije. Upravo zbog toga napada koristi specijalne nizoveznakova da bi uspeo a pristupi bilo kom delu aplikacije.

    Najosnovniji napad koristi ../ specijalni niz znakova kako bi promenio lokacijuodreenog resursa unutar URL-a. Naravno veina server e lako otkriti i spreiti ovakav napad, panapadai koriste I druge metode kako bi izbegli sigurnosne filtere. Neke od njih su: Unicode-encodinggde se umesto ../ znakova koriste ..%u2216, URL-encodinggde se koristi %2e%2e

    %2f i dvostruki URL-encoding..%255c.Ovi napadi su uglavnom usmereni prema web aplikacijama koje loe rukuju ulaznimparametrima. Napada koristi ovaj nedostatak i u URL navodi ime odreene datoteke u kojoj jesadrana tetna skripta. Poto se ta datoteka interpretira kao tekstualna, rezultat ovog napada bieotkrivanje izvornog koda datoteke.Na primer u sledeim linkovima vidi se nain na koji se saznaje izvorni kod temp.cgi datoteke.http://primer/../../../../../temp/dat

    http://primer/..%255c..%255c..%255ctemp/dat

    http://primer/..%u2216..%u2216temp/dat

    Predvianje lokacija resursaOva tehnika pokuava da otkrije skriveni sadraj ili funkcionalnosti web aplikacije.

    Uglavnom se svodi na Brute forcepretraivanje sadraja koji nije namenjen obinim korisnicimakao to su konfiguracijske ili backup datoteke. Datoteke mogu sadrati bitne informacije oprogramskoj strukturi Web aplikacije, informacije o bazi podataka, lozinke, imena raunara ili akpopis ranjivosti (buggova). esto je ova tehnika uspena iz razloga to skrivene datoteke estoimaju posebne konvencije za nazive i nalaze se na standardnim lokacijama.

    15

  • 7/31/2019 Slobodan Djordjevic

    16/21

    Napadai najee izrauju zahteve za odreenim datoteka i mapama, pa zahtev aljunekom javnom web serveru. Postojanje pojedinih resursa se moe utvrditi analizirajui HTTPstatusne kodove dobijene kao odgovor od web servera.

    Neki od primera su:

    Slepo pretraivanje odreenih datoteka i direktorijuma:

    /admin/

    /backup/

    /logs/

    /primer.cgi

    Dodavanja ekstenzija ve postojeim datotekama, npr. test:

    /test.asp

    /test.bak

    /test.tmp

    Logiki napadi

    Ovi napadi kako im samo ime kae slue za napade na logiki tok web aplikacija. Podlogikim tokom ili aplikacionom logikom se podrazumeva proceduralni tok koji se koristi u webaplikaciji kako bi se izvela neka akcija. Neki od primera aplikacione logike su: proces za obnovulozinke, registracija rauna ili on-line kupovina. Web aplikacija zahteva da se tano ispotujeprocedura i tok neke akcije, procesa da bi se odreena akcija izvrila do kraja. Napada upravopokuava da iskoristi ovaj proces kako bi natetio web aplikaciji i korisnicima. U ove napadespadaju:

    Zloupotreba funkcionalnosti

    DoSnapadi

    Napadi automatizovanim procesima

    Naruavanje kontrole procesa

    Zloupotreba funkcionalnostiOva napadaka tehnika se koristi resursima i funkcionalnou web aplikacija kako bi se

    iskoristio, prevario ili promenio njen kontrolni mehanizam. Najee se kombinuje s ostalimnapadima. Na primer napada koristi Crosssite scripting napad kako bi ubacio tetnu skriptu uweb-chat aplikaciju i tada koristi ugraene funkcije za propagiranje zloudnog koda prema drugimaplikacijama. Upravo se taj nain propagiranja esto koristi, pa moemo rei da se zloupotrebafunkcionalnosti koristi i kao multipliciranje napada (englforce multiplier).

    16

  • 7/31/2019 Slobodan Djordjevic

    17/21

    Jedan od zanimljivijih primera zloupotrebe funkcionalnosti je zabeleen kod SmarwinCyberOffice Web aplikacije koja koristi kolica za kupovinu (engl Shopping cart) kako bikorisnicima omoguila kupovinu odreenih artikala. Naime, napada je na neoekivani nainmogao izmeniti ponaanje web aplikacije menjajui vrednost skrivenog polja unutar forme kojukoristi web aplikacija. Forma bi se normalno skinula, izmenila i ponovno poslala aplikaciji sa

    cenama postavljenim prema napadaevim eljama.

    DoSnapadi

    Denial of Service (DoS) napadi imaju za cilj da onemogue normalan rad web aplikacije ilikorisniki pristup web aplikaciji. Uspeh ovih napada zavisi od troenja znaajnih resursa sistema,pronalaska i korienja ranjivosti ili zloupotreba funkcionalnosti.

    est sluaj je troenje sistemskih resursa; kada se dosegne maksimalno korienjeodreenog resursa (CPU, memorija, disk) tada se onemoguuje pristup i rad web aplikacije. Uovom sluaju govorimo o DoS napadu na mrenom sloju koji koristi veliki broj mrenih veza sapotapanje sistema.

    Posebna panja se posveujeDoSnapadima na aplikacionom sloju koji su usmereni ka webserveru, serveru baze podataka i ka autentifikacionom serveru. Njih je lake izvesti od napada namrenom sloju.

    Na primerDoS napad usmeren ka korisniku. Napada pokuava veliki broj puta da seuloguje na profil nekog korisnika sa korisnikim imenom tog korisnika i namerno pogreenomifrom. Nakon velikog boja pokuaja aplikacioni autentifikacioni proces zakljuae pristup tomkoriniku. Zatim DoSnapad na server baze podataka. Napada uz pomo SQL injection napadamodifikuje bazu podataka na taj nain da sistem postane nestabilan (npr. obrie podatke). Zanapade ka web serveru napada koristiBuffer overflow napad kako bi sruio procese web servera i

    kako se sistemu ne bi moglo pristupiti odreeno vreme.Napadi automatizovanim procesima

    Nastupaju kada web aplikacija dozvoljava napadau izvoenje automatizovanog procesakoji bi inace trebao biti runo izveden od strane korisnika.

    Ukoliko se ne vri provera, automatizovani programi-roboti ili napadai mogu uzastopnoispitivati funkcionalnost web aplikacije kako bi naruili ili prevarili sistem. Na primer mogu slatihilade zahteva u sekundi I na taj nain izazvati gubitak preformansi ili smanjenje funkcionalnosti.

    Naruavanje kontorole procesa

    Nastupaju kada web aplikacija dopusti napadau zaobilaenje ili promenu kontrolnog toka

    aplikacije. Ova vrsta napada je esta ukoliko se korisniki status ne proverava unutar odreenihprocesa.

    Neki od ovih procesa su :obnova lozinke, otvaranje korisnikog rauna, on-line kupovina,itd. Da bi ovi procesi ispravno funkcionisali, web aplikacija mora pratiti stanje korisnika dokkorisnik vri radnje unutar njenog toka procesa. Praenje se najee vri korienjem Cookie-a iliskrivenih HTML polja. Ukoliko se praenje vri na klijentskoj strani unutar web itaa, tada jepotrebno dodatno proveravati integritet podataka. Ukoliko nema provere, postoji mogunost

    17

  • 7/31/2019 Slobodan Djordjevic

    18/21

    zaobilaenja kontrolnog toka dogaaja promenom trenutnog korisnikog stanja. Primer je On-lineweb aplikacija za prodaju (engl. shopping cart). Svaki korisnik koji kupi proizvod A e dobitipopust, dok za proizvod B nema popusta. Korisnikova elja je da dobije popust za proizvod B.Kontrola procesa e se naruiti na sljedei nain:

    - Korisnik eli kupiti proizvod B s popustom, te u kolica ubacuje proizvode A i B ukorpu.

    - Korisnik ulazi u proces provere gde mu se registruje popust.

    - Korisnik se vraa natrag iz procesa provere, izbacuje proizvod A iz korpe.

    - Korisnik ponovno ulazi u proces provere, pritom zadravajui popust ostvaren upreanjem procesu provere (sa proizvodom A u korpi) i prevarom postie niu cenuproizvoda B.

    Cross Site Request Forgery (CSRF) napad

    Ovo je jo jedan napad na web aplikacije koji je vredan pomena iz razloga to se i on dostajavlja.

    CRSF napadom korisnik eli nesvesno izvriti odreene radnje na web aplikacijama. Ovimnapadom se iskoriava korisnikov Cookie zapis, a da korisnik nije toga svestan, a izvodi seposredovanjem klijentskog programa. Na ovaj nain se mogu iskoristiti JavaScript forme, koje semogu sakriti u posebnom i-frame-u. Nain na koji ovo funkcionie moemo videti tek kadauitamo stranicu u nesigurnom web itau. Takva stranica mora sadrati kod koji e omoguitipokretanje takvog zahteva. Ako na stranici nema nikakve kontrole i provere sigurnosti i identitetakorisnika, zahtev koji je poslat takvoj stranici se izvodi kao da ga je poslao klijent.

    Tipini zahtevi koji se mogu iskoristiti u ovom napadu su GET i POST. GET metoda slui

    za dohvat podataka, a prenosi se putem URL zahteva. To znai da je svaki korisnik interneta moeuhvatiti nekim alatima koji skeniraju promet po internetu. U drugom sluaju imamo POSTmetodu koja sadraj alje kroz poruku. Na taj nain smo je bolje zatitili od treih strana.

    Osnovna razlika izmeu CSRF-a i XSS-a je ta to se nedoputene naredbe alju od stranekorisnika kojem ta web stranica veruje. Neke od najznaajnijih metoda ovih napada su:

    - pomou zlonamerno oblikovanih HTML objekata,

    - pomou skriptnog koda umetnutog u HTML (JavaScript, PHP, JScript) i

    - zloupotrebom automatskog generisanja zahteva u web itau(XMLHttpRequest).

    Zatita od ove vrste napada: Ispitivanje da li je zahtev pokrenut iz neke web stranice unutar cele web aplikacije,

    Smanjiti inicijalno vreme aktivnosti sesije,

    Postavljanjem upita za ponovno upisivanje lozinke kod osetljivih operacija.

    18

  • 7/31/2019 Slobodan Djordjevic

    19/21

    Organizacije i alati za sigurnost web aplikacija

    Postoji dosta organizacija koje se bave zatitom i sugurnou web aplikacija. Jedna od

    najpoznatijih jeste OWASP - Open Web Application Security Project. To je neprofitnaorganizacija koja se bavi problemima vezanim za sisteme na webu i ranjivosti takvih sistema. Nainternetu objavljuju brojne programe i dokumentaciju koja nastoji zatititi web aplikacije i celesisteme koji rade na webu, otkrivaju ranjivosti i odravaju sisteme sigurnima. Isto tako i na ovompodruuju definiu niz mera i smernica kako neto spreiti i ta uiniti u kriznim situacijama.

    OWASP Top 10 je lista deset najkritinijih sigurnosnih rizika web aplikacija premamiljenju OWASP zajednice. Trenutno aktualna verzija, OWASP Top 10 for 2010, objavljena je19.04.2010. OWASP grupa kod Top 10 liste eksplicitno navodi da to nije lista najeih propusta uaplikacijama, nego lista propusta sa najveim rizikom.

    OWASP Top 10 Application Security Risks 2010:

    1) Injection2) Cross-Site Scripting (XSS)3) Broken Authentication and Session Management4) Insecure Direct Object References5) Cross-Site Request Forgery (CSRF)6) Security Misconfiguration7) Insecure Cryptographic Storage8) Failure to Restrict URL Access9) Insufficient Transport Layer Protection

    10) Unvalidated Redirects and ForwardsDetaljan opis svih ovih rizika dat je na sajtu OWASP organizacije: https://www.owasp.org/.Jo jedna poznata organizacija jeste WASC - Web Application Security Consortium.Neki od alata i aplikacija koje se koriste u svrhu poboljanja zatite:

    WebScarab

    WebGoat

    DVWA (Damn Vulnereable Web Application)Na sajtuhttp://www.hackthissite.org/pages/index/index.php mogu se isprobati mnogi napadi kao iuoiti najee greke koje korisnici ali i web administratori ine u radu sa web aplikacijama.

    HTTPS se takoe koristi kao dobar vid zatite. To je engleska skraenica od "Hypertext

    Transfer Protocol Secure" i ini kombinaciju HTTP-a i SSL/TSL protokola stvarajui enkripcijutokom prenosa podataka i sigurnu identifikaciju servera. Ova vrsta protoka koristi 443 port te senajee koristi na sajtovima koji poseduju aplikacije za transakciju novca putem kreditnihkartica,internet rauna kao to su PayPal, Moneybookers, AlertPay, Neteller. Kao zatita od tetnihradnji koristi se i proxy i drugi firewall-i.

    19

    https://www.owasp.org/http://www.hackthissite.org/pages/index/index.phphttp://www.hackthissite.org/pages/index/index.phphttp://www.hackthissite.org/pages/index/index.phphttps://www.owasp.org/http://www.hackthissite.org/pages/index/index.php
  • 7/31/2019 Slobodan Djordjevic

    20/21

    Zakljuak

    Kao to se iz priloenog moe zakljuiti programerske greke su takoe jedan od estihuzroka za pojavu sigurnosnih propusta. Podizanje svesti o sigurnosti upravo je najpotrebnije kodprogramera. Sva i pisana i nepisana pravila je vie nego poeljno ispotovati da bi web aplikacijabila to sigurnija i bez propusta.

    Da bi i korisnici bili zatieniji od napada i oni sami se moraju zainteresovati, istraivati osigurnosti aplikacije i proveravati sve sumnjive situacije. Moraju se dobro upoznati sa aplikacijamakoje koriste, da im ne veruju u potpunosti, ifre sastavljaju od znakova, slova, brojeva, i odlogujusa web aplikacija pre gaenja web itaa. Takoe je i bitno znati na koji link treba kliknuti i kometreba verovati, jer se informatiki nepismeniji korisnici mnogo lako namame i prevare.

    Jo jedna od bitnijih stvari jeste enkripcija podataka prilikom prenosa (HTTPS, SSTprotokol). Da bi se oteala kraa ifara i lako korienje od strane napadaa, veoma je bitno dasama aplikacija ima ugraen program za enkripciju podataka u neki dugi niz brojeva i slova koji bibilo teko deifrovati i na taj nain zatitili podatke prilikom prenosa.

    Alati za automatsku proveru i otkrivanje ranjivosti su od velike pomoi programerima izainteresovanim korisnicima. Omoguuju da se aplikacija istestira, pronau rupe i otklone navreme. Meutim, pored ovoga neophodna i najbolja tehnika za pronalazak i otklanjanje greakajeste i runo testiranje od strane programera.

    Kako tehnologija stalno napreduje, aplikacije postaju funkcionalnije, dinaminije, lepe,tako i mogunosti i ideje napadaa za prevaru sistema, krau podataka i rauna, obaranje sajtovapostaju sve raznovrsnije i sve ih biva vie. Zato je neophodno da i programeri stalno pratetrendove, razvoj tehnologije kako do ovoga ne bi dolazilo.

    Mnoge organizacije koje se bave sigurnou web aplikacija razvile su razne standarde zapomo programerima i korisnicima radi lake ostvarene sigurnosti aplikacije i korisnika. Razvijene

    su strategije pisanja web aplikacije (SD3 - secure by design, secure by default, secure indeployment), koje ukoliko se ispotuju obeavaju visok nivo sigurnosti.

    Literatura

    20

  • 7/31/2019 Slobodan Djordjevic

    21/21

    1. The Unofficial Cookie FAQ. URL: http://www.cookiecentral.com/faq/(05.01.2012, 16:00h)

    2. http://security.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2004-10-93.pdf

    (06.01.2012, 13:30h)

    3. http://www.owasp.org/index.php/Top_10_2007-Methodology (10.01.2012. 18:00h)

    4. http://www.owasp.org/index.php/Main_Page (10.01.2012, 19:00h)

    5. http://anti-virusi.blogspot.com/2009/05/sta-su-cookies.html(11.01.2012, 17:00h)

    6. https://sigurnost.carnet.hr/assets/Prezentacije/KAKO-NAPRAVITI-SIGURNU-

    APLIKACIJU.pdf(11.01.2012, 19:00h)

    7. http://os2.zemris.fer.hr/ns/2006_pauk/diplomski.pdf (12.01.2012, 21:00h)

    8. http://dkorunic.net/pdf/Sigurnost-na-Internetu-II.pdf (13.01.2012, 11:00h)

    9. http://www.hackthissite.org/missions/basic/(13.01.2012, 18:00h)

    10. http://www.blogeri.hr/blog-postovi/post/sta-je-https-3275/(17.01.2012, 14:00h)

    21

    http://anti-virusi.blogspot.com/2009/05/sta-su-cookies.htmlhttps://sigurnost.carnet.hr/assets/Prezentacije/KAKO-NAPRAVITI-SIGURNU-APLIKACIJU.pdfhttps://sigurnost.carnet.hr/assets/Prezentacije/KAKO-NAPRAVITI-SIGURNU-APLIKACIJU.pdfhttp://os2.zemris.fer.hr/ns/2006_pauk/diplomski.pdfhttp://dkorunic.net/pdf/Sigurnost-na-Internetu-II.pdfhttp://www.hackthissite.org/missions/basic/http://www.blogeri.hr/blog-postovi/post/sta-je-https-3275/http://anti-virusi.blogspot.com/2009/05/sta-su-cookies.htmlhttps://sigurnost.carnet.hr/assets/Prezentacije/KAKO-NAPRAVITI-SIGURNU-APLIKACIJU.pdfhttps://sigurnost.carnet.hr/assets/Prezentacije/KAKO-NAPRAVITI-SIGURNU-APLIKACIJU.pdfhttp://os2.zemris.fer.hr/ns/2006_pauk/diplomski.pdfhttp://dkorunic.net/pdf/Sigurnost-na-Internetu-II.pdfhttp://www.hackthissite.org/missions/basic/http://www.blogeri.hr/blog-postovi/post/sta-je-https-3275/